Sztuczne Sieci Neuronowe



Podobne dokumenty
Daniel Kierepka. Kompresja obrazów za pomoc sztucznych sieci neuronowych

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

WYKŁAD 4 PLAN WYKŁADU. Sieci neuronowe: Algorytmy uczenia & Dalsze zastosowania. Metody uczenia sieci: Zastosowania

Uczenie Wielowarstwowych Sieci Neuronów o

Elementy pneumatyczne

Planowanie adresacji IP dla przedsibiorstwa.

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

Sztuczna Inteligencja Tematy projektów Sieci Neuronowe

Elementy Sztucznej Inteligencji

Poprawa efektywnoci metody wstecznej propagacji bdu. Jacek Bartman

Elementy Sztucznej Inteligencji

stopie szaro ci piksela ( x, y)

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

Zagadnienia optymalizacji i aproksymacji. Sieci neuronowe.

Podstawy Sztucznej Inteligencji (PSZT)

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

przewidywania zapotrzebowania na moc elektryczn

Ustalenie optymalnego układu lokalizacyjnodystrybucyjnego

Zastosowania sieci neuronowych

Sztuczne sieci neuronowe

ZACHODNIOPOMORSKI UNIWERSYTET TECHNOLOGICZNY W SZCZECINIE

Komputerowe wspomaganie prac inynierskich CAE

Obwody sprzone magnetycznie.

obsług dowolnego typu formularzy (np. formularzy ankietowych), pobieranie wzorców formularzy z serwera centralnego,

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

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

PRZEWODNIK PO PRZEDMIOCIE

Wstęp do sztucznych sieci neuronowych

HAŁASU Z UWZGLĘDNIENIEM ZJAWISK O CHARAKTERZE NIELINIOWYM

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

PREZENTACJA DZIAŁANIA KLASYCZNEGO ALGORYTMU GENETYCZNEGO

Problem decyzyjny naley do klasy NP. (Polynomial), jeeli moe by rozwizany w czasie conajwyej wielomianowym przez algorytm A dla DTM.

Rys1 Rys 2 1. metoda analityczna. Rys 3 Oznaczamy prdy i spadki napi jak na powyszym rysunku. Moemy zapisa: (dla wzłów A i B)

Temat: Sieci neuronowe oraz technologia CUDA

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

Informatyka I stopień (I stopień / II stopień) ogólno akademicki (ogólno akademicki / praktyczny) kierunkowy (podstawowy / kierunkowy / inny HES)

Wprowadzenie do kompilatorów

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

PRZEWODNIK PO PRZEDMIOCIE

SIEĆ NEURONOWA JAKO NARZĘDZIE APROKSYMACJI I KLASYFIKACJI DANYCH. Jakub Karbowski Gimnazjum nr 17 w Krakowie

Metody numeryczne i statystyka dla in»ynierów

Program do konwersji obrazu na cig zero-jedynkowy

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

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

Zastosowania sieci neuronowych

Sztuczne Sieci Neuronowe. Wiktor Tracz Katedra Urządzania Lasu, Geomatyki i Ekonomiki Leśnictwa, Wydział Leśny SGGW

Dyskretyzacja sygnałów cigłych.

Proces tworzenia programu:

PROCEDURY REGULACYJNE STEROWNIKÓW PROGRAMOWALNYCH (PLC)

Sposoby przekazywania parametrów w metodach.

Temat: Programowanie zdarzeniowe. Zdarzenia: delegacje, wykorzystywanie zdarze. Elementy Windows Application (WPF Windows Presentation Foundation).

PROWIZJE Menad er Schematy rozliczeniowe

Kompresja obrazu z wykorzystaniem transformaty Karhunena-Loeve

Konspekt lekcji matematyki klasa 4e Liceum Ogólnokształcce

Inżynieria danych I stopień Praktyczny Studia stacjonarne Wszystkie specjalności Katedra Inżynierii Produkcji Dr Małgorzata Lucińska

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

Zarzdzanie i Inynieria Produkcji Studia drugiego stopnia o profilu: A P. Wykład 15 wiczenia 30 Laboratorium Projekt

Laboratorium elektryczne. Falowniki i przekształtniki - I (E 14)

PRZEWODNIK PO PRZEDMIOCIE

Wst p do sieci neuronowych 2010/2011 wykªad 7 Algorytm propagacji wstecznej cd.

ELEMENTY REGULATORÓW ELEKTRYCZNYCH (A 4)

Eugeniusz ZIÓŁKOWSKI 1 Wydział Odlewnictwa AGH, Kraków

Zagadnienia optymalizacji Problems of optimization

Cash flow projektu zakładajcego posiadanie własnego magazynu oraz posiłkowanie si magazynem obcym w przypadku sezonowych zwyek

Zapisywanie algorytmów w języku programowania

IMPLEMENTACJA SIECI NEURONOWYCH MLP Z WALIDACJĄ KRZYŻOWĄ

VPN Virtual Private Network. Uycie certyfikatów niekwalifikowanych w sieciach VPN. wersja 1.1 UNIZETO TECHNOLOGIES SA

ĆWICZENIE 5: Sztuczne sieci neuronowe

Analiza wpływu pierwiastków stopowych na hartowno stali *)

Wojciech Drzewiecki SYSTEMY INFORMACJI GEOGRAFICZNEJ

Aproksymacja funkcji metod najmniejszych kwadratów

Programowanie Obiektowe

wiedzy Sieci neuronowe

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

PRZEWODNIK PO PRZEDMIOCIE

Metody sztucznej inteligencji

Uczenie sieci neuronowych i bayesowskich

wiczenie nr 3 z przedmiotu Metody prognozowania kwiecie«2015 r. Metodyka bada«do±wiadczalnych dr hab. in». Sebastian Skoczypiec Cel wiczenia Zaªo»enia

Rys2 Na czerwono przebieg, na niebiesko aproksymacja wielomianem II stopnia.

MODELOWANIE FAZ ZNI ANIA I L DOWANIA SAMOLOTU BOEING ER PRZY U YCIU SZTUCZNYCH SIECI NEURONOWYCH

Z-ZIP2-303z Zagadnienia optymalizacji Problems of optimization

Metody Sztucznej Inteligencji II

PODSTAWY DIAGNOSTYKI MASZYN

SPIS OZNACZE 1. STATYKA

SIECI NEURONOWE Liniowe i nieliniowe sieci neuronowe

Temat: Technika zachłanna. Przykłady zastosowania. Własno wyboru zachłannego i optymalnej podstruktury.

PRZEWODNIK PO PRZEDMIOCIE

Projektowanie i analiza zadaniowa interfejsu na przykładzie okna dialogowego.

PRZEWODNIK PO PRZEDMIOCIE

Sztuczne sieci neuronowe

Metoda statystycznej oceny klasy uszkodze materiałów pracujcych w warunkach pełzania *

Bazy danych Podstawy teoretyczne

Plan wykładu. Reguły asocjacyjne. Przykłady asocjacji. Reguły asocjacyjne. Jeli warunki to efekty. warunki efekty

Gramatyki regularne i automaty skoczone

Uczenie sieci typu MLP

Dla ułatwienia pracy wydrukuj poni sz instrukcj

ANALIZA NUMERYCZNA. Grzegorz Szkibiel. Wiosna 2014/15

MODELOWANIE PROCESÓW EKSPLOATACJI MASZYN

Instrukcja obsługi programu MechKonstruktor

DEKOMPOZYCJA HIERARCHICZNEJ STRUKTURY SZTUCZNEJ SIECI NEURONOWEJ I ALGORYTM KOORDYNACJI

Transkrypt:

Kernel. 2004 nr 1 s. 16 19 Sztuczne Sieci Neuronowe Dr Zdzisław Stgowski Wydział Fizyki i Techniki Jdrowej, AGH Wstp W artykule tym chciałbym przybliy czytelnikowi pojcie Sztuczne Sieci Neuronowe (w skrócie SSN). Pojcie to nie powinno by obce osobom interesujcym si lub studiujcym informatyk. Poznajc bliej SSN bdziemy dysponowa metod do rozwizania zagadnie, z którymi inne metody nie radz sobie. Ponadto SSN nale do grupy poj z zakresu Sztucznej Inteligencji, co w stosunku do pogody a zwłaszcza polityki daje znacznie ciekawszy temat do rozmowy towarzyskiej. Realizacja SSN na klasycznym komputerze to wygenerowanie kilku macierzy o okrelonych wymiarach a nastpnie iteracyjna zmiana wartoci elementów tych macierzy według okrelonego algorytmu i zadanej funkcji celu. Korzystajc z gotowych pakietów do projektowania i uczenia SSN wystarczy napisa kilka linijek programu, aby zaprojektowa i nauczy tak sie. Wyglda to tak prosto, e nie pozostaje nic innego jak zobaczy, co to s te SSN i jak je mona praktycznie realizowa. Przed przystpieniem do opisu SSN pozwol sobie na jeszcze dwa akapity w ramach wstpu. Z du satysfakcj naley podkreli fakt, e pionierem zastosowa i promocji SSN w Polsce był i jest Prof. Ryszard Tadeusiewicz, obecny Rektor naszej uczelni. W roku 1993 wydał pierwsz ksik w Polsce na temat SSN pt. Sieci neuronowe a w roku 1999 ukazała si jego ksika pt. Elementarne wprowadzenie do techniki sieci neuronowych z przykładowymi programami. Czsto stosowanym sposobem ukazania popularnoci i powszechnoci zastosowa SSN jest podawanie listy dziedzin nauki i techniki gdzie s one stosowane. Obecnie zastosowania te s tak szerokie, e lista taka byłaby nudn lektur dla czytelnika. Dla ukazania powszechnoci zastosowa SSN mona wykorzysta prawo popytu i poday. O tym jak duy jest popyt na oprogramowanie SSN wiadczy fakt, e wikszo znaczcych firm produkujcych programy obliczeniowe oferuje wydzielone pakiety do projektowania SSN i ich stosowania. Z powszechnie znanych programów obliczeniowych mona tutaj wymieni pakiet STATISTICA i MATLAB. Innym bezspornym dowodem efektywnoci zastosowa

SSN jest fakt zatrudniania w znaczcych firmach zbrojeniowych, co najmniej kilkudziesicioosobowych zespołów pracujcych w tematyce sztucznej inteligencji. Mózg jako pierwowzór SSN Kady opis działania SSN zaczyna si od opisu układu nerwowego człowieka a zwłaszcza jego mózgu, oczywicie w stopniu, w jaki te zagadnienia s nam znane w chwili obecnej. Mózg składa si z komórek nerwowych, których liczba wynosi około stu miliardów (10 11 ). Budowa pojedynczej komórki przedstawiona jest na Rys. 1. Rys. 1. Przybliony wygld komórki nerwowej W mózgu komórki te poprzez akson, dendryty i synapsy połczone s ze sob tworzc rozbudowan sie. O jej złoonoci moe wiadczy fakt, e niektóre komórki posiadaj do tysica połcze z innymi komórkami. Zadaniem takiej komórki, oprócz podtrzymywania czynnoci yciowych, jest odbieranie, przetwarzanie i przekazywanie informacji oraz jej zapamitywanie. Poniewa na sposób przetworzenia informacji wpływa stan pamici a stan ten zaley od wczeniejszych informacji, działanie mózgu ma charakter dynamiczny. Prostym przykładem tej dynamiki, jest nasze zachowanie i sposób rozmowy z osob, któr spotykamy po raz pierwszy (brak jakichkolwiek informacji w pamici na temat tej osoby) i ju odmienne zachowanie przy kolejnych spotkaniach, kiedy posiadamy coraz wicej informacji w pamici o tej osobie. Nie wnikajc w szczegóły, procesy informatyczne w sieci neuronowej mózgu maj charakter procesów elektro-chemiczno-biologicznych. Jedn z istotnych cech przekazywania informacji pomidzy neuronami jest stosunkowo długi czas trwania takiego procesu, który jest rzdu milisekund. Pomimo tego nasz mózg działa czsto znacznie szybciej od klasycznego komputera, gdzie czasy przetwarzania informacji s o kilka rzdów wielkoci

krótsze. Przykładem tego jest rozpoznawanie osoby ze zdjcia. Ta umiejtno jest wynikiem równoległego charakteru przetwarzania informacji w sieci neuronowej oraz analizowaniu nie wszystkich informacji wystpujcych w obrazie, lecz jego istotnych, wyróniajcych go cech. Drug istotn cech sieci neuronowej mózgu jest rozproszenie pamici danej informacji. W klasycznym komputerze dana informacja pamitana jest w cile okrelonym miejscu, co przy fizycznym uszkodzeniu tego miejsca powoduje całkowit jej utrat. W mózgu dana informacja jest rozproszona w rónych komórkach, dziki czemu uszkodzenie komórki a nawet pewnej grupy komórek nie powoduje utraty informacji. Ta cecha była prawdopodobnie głównym powodem, e natura wybrała dla nas tak budow i drog rozwoju naszego mózgu. Zagadnienie pamici nie jest jeszcze do koca rozpoznane, ale o stanie pamici decyduj równie połczenia pomidzy komórkami. Komórki mózgu oraz ich podstawowa struktura połcze powstaje w okresie płodowym. W okresie naszego ycia komórki zaczynaj obumiera. Niedawno odkryto, e w cigu całego czasu ycia tworzone s nowe połczenia pomidzy komórkami, czyli struktura sieci posiada równie charakter dynamiczny. Naley tutaj zaznaczy, e te dynamiczne zmiany zale w duym stopniu od intensywnoci uywania naszego mózgu. Oznacza to moliwo pozostania w doskonalej formie intelektualnej do koca naszego fizycznego ycia, jeeli intensywnie bdziemy si posługiwa naszym mózgiem w cigu całego czasu, jaki jest nam dany do przeycia. Aby pozna i opisa działanie naszego mózgu naley odpowiedzie na pytanie, czy złoono działania naszego umysłu wynika ze złoonoci procesów zapamitywania i przetwarzania informacji zachodzcych w komórce nerwowej, czy te procesy od strony informatycznej s stosunkowo proste natomiast cała finezja działania mózgu zawarta jest w liczebnoci sieci i strukturze jej połcze? Próba odpowiedzi na to pytanie i ewentualna moliwo pełnego opisu działania naszego mózgu generuje znacznie szersze pytanie natury filozoficznej. Czy układ (np. człowiek) jest w stanie sam siebie dokładnie pozna i opisa? Prywatnie mam nadziej, e odpowied na to pytanie brzmi NIE. Model komórki nerwowej Na wstpie naley zaznaczy, e celem sztucznych sieci neuronowych jest zamodelowanie układów bazujcych na strukturze naturalnych sieci neuronowych w celu rozwizywania problemów, w których inne modele i algorytmy nie daj zadawalajcych wyników. Celem SSN nie jest badanie zachowania naturalnych sieci nerwowych, natomiast istnieje oczywicie sprzenie zwrotne pozwalajce na przenoszenie pewnych obserwowanych zachowa SSN na zachowanie naturalnych sieci.

Model sztucznego neuronu przedstawiony jest na Rys. 2. Na neuron taki podajemy wektor wejciowy X (czyli wartoci x 1.. x n ) i po jego przetworzeniu otrzymujemy na wyjciu warto y. Podstawowymi elementami neuronu s wartoci wag w, funkcja wewntrznego przetwarzania i funkcja aktywacji. Warto sygnału wyjciowego z neuronu obliczana jest w dwu etapach. x 1 w 1 x 2 w 2 e = w i x i y = ϕ(e) y x n w n Rys. 2. Model neuronu W pierwszym etapie sygnały wejciowe x przemnaane s przez odpowiadajce im wagi w i poddawane zadanej funkcji. Etap ten nazywany jest funkcj wewntrznego przetwarzania i w praktyce jest to najczciej funkcja sumowania (iloczyn skalarny wektora X i W), natomiast mona tam realizowa dowolne inne funkcje takie jak: iloczyn, maksimum, minimum itp. W drugim etapie wynik funkcji wewntrznego przetwarzania e podlega działaniu okrelonej funkcji wejcia-wyjcia zwanej w tym przypadku funkcj aktywacji ϕ. Ostatecznie dla pojedynczego neuronu sygnał wyjciowy y wyliczany jest z nastpujcej zalenoci: n y = ϕ wi xi = ϕ( W X ) (1) i= 1 gdzie: X - wektor danych wejciowych W - wektor wag ϕ - funkcja aktywacji y - sygnał wyjciowy W praktyce stosowane s funkcje aktywacji przedstawione na Rys.3.

funkcja liniowa funkcja skoku funkcja funkcja tangens jednostkowego sigmoidalna hiperboliczny Rys.3. Cztery podstawowe rodzaje funkcji aktywacji stosowane w SSN Sztuczne Sieci Neuronowe Ze wzgldu na topologi najczciej w praktyce stosowane s sieci wielowarstwowe. W takiej sieci rozróniamy warstw wejciow, warstwy ukryte i warstw wyjciow (Rys.4). x 1 x 2 x n dane wejciowe N 11 N 12 N 1K warstwa wejciowa N 21 N 22 N 2L warstwa ukryta N 31 N 32 N 3M warstwa wyjciowa y 1 y 2 y M dane wyjciowe Rys. 4. Sie trójwarstwowa o połczeniach zupełnych z jednokierunkowym przepływem sygnału Połczenia midzy warstwami mog mie rón struktur, lecz zazwyczj s to połczenia zupełne, co oznacza, e kady neuron danej warstwy połczony jest ze wszystkimi

neuronami warstwy po niej nastpujcej. W tego typu sieci przepływ sygnału ma charakter jednokierunkowy. Matematycznie funkcj realizowan przez tak sie moemy zapisa: gdzie: Y { W ϕ [ W ( W X )]} = ϕ ϕ wy wy ukr ukr we we (2) X - wektor danych wejciowych W - macierz wag dla odpowiedniej warstwy ϕ - funkcja aktywacji dla odpowiedniej warstwy Y - wektor danych wyjciowych Celem działania takiej sieci jest realizacja okrelonej funkcji, czyli uzyskanie danej odpowiedzi przy zadanych wielkociach wejciowych. Cel ten uzyskuje si poprzez proces uczenia sieci, czyli odpowiedni zmian wartoci wag neuronów. Jedn z podstawowych metod uczenia jest tak zwana metoda z nauczycielem (uczenie nadzorowane). W metodzie tej algorytm uczenia polega na przedstawieniu sieci zbioru uczcego, składajcego si z danych wejciowych X i odpowiadajcego mu danych wyjciowych Z. Zbiór danych wejciowych przetwarzany jest przez sie a uzyskany wynik Y porównywany jest z posiadanymi danymi wyjciowymi Z. Rónica pomidzy wartociami Y i Z stanowi podstawowy parametr do zmian wartoci wag neuronów tak, aby osign minimum funkcji kryterialnej, któr standardowo stanowi suma kwadratów rónic pomidzy wartociami Y i Z. Podstawow metod minimalizacji funkcji kryterialnej jest gradientowa metoda najwikszego spadku, z której otrzymujemy zaleno na zmian wartoci wag w kolejnych krokach iteracji zwan reguł delta. Reguł t mona bezporednio stosowa dla sieci jednowarstwowych. W przypadku sieci wielowarstwowych, kiedy sygnał z pierwszej warstwy nie jest sygnałem kocowym, konieczne było wprowadzenie dodatkowego algorytmu pozwalajcego na równoczesn zmian wag neuronów we wszystkich warstwach. Algorytm taki ze wzgldu na jego działanie, czyli rzutowanie błdu z danej warstwy na warstw poprzedzajc, został nazwany metod wstecznej propagacji błdu. Metoda ta została opublikowana w roku 1985 i dała pocztek bardzo dynamicznemu rozwojowi prac zwizanych ze SSN oraz ich zastosowaniem. W przypadku SSN proces programowania to nie tylko etap konstruowania sieci, lecz w głównej mierze etap uczenia i ewentualnie kolejne etapy douczania sieci. Istnieje tutaj pikna i nieprzypadkowa analogia do naszego ycia. Do czasu, kiedy podejmiemy intelektualnie istotn prac zawodow musimy przej przez kolejne etapy edukacji, czyli:

przedszkole, szkoł podstawow, gimnazjum, liceum, studia a potem w pracy Bóg wie ile szkole i kursów. Metoda wstecznej propagacji błdu była pierwsz metod pozwalajc na uczenie sieci wielowarstwowych. W przypadku sieci liczebnie rozbudowanych metoda ta jest stosunkowo wolna. Pomimo wprowadzenia do tej metody elementów przyspieszajcych proces uczenia, takich jak metoda momentum czy adaptacyjn zmian współczynnika uczcego, nadal poszukiwano i poszukuje si szybszych algorytmów uczcych. Przykładowo w nowym pakiecie MATLABa do SSN pojawiły si nowe szybkie algorytmy uczce takie jak: wsteczna propagacja Levenberga-Marquardta, sprzona wsteczna propagacja Powella- Beala i jeszcze kilka innych. Przepraszam, e uywam tutaj poj, które nie s odpowiednio wyjanione, ale w tym miejscu chciałem pokaza jak dynamicznie prowadzone s prace nad rozwojem SSN. Realizacja SSN w MATLAB-ie Korzystajc z gotowych pakietów to w chwili obecnej projektowanie i uczenie SSN ogranicza si to do napisanie kilku linijek programu. Poka to na przykładzie pakietu Neural Network Toolbox pracujcego w rodowisku MATLABa. Wybór ten wynika z dwu powodów. Po pierwsze znam ten pakiet i uywam go a po drugie jest on dostpny, poprzez UCI, dla wszystkich pracowników i studentów AGH. Oprogramowanie MATLAB (skrót od MATrix LABoratory) wykonane zostało na bazie jzyka C i posiada duo uytecznych funkcji ułatwiajcych operacj na macierzach. Hasłem przewodnim MATLABa jest: po co traci ycie na pisanie ptli i jako uytkownik mog stwierdzi, e jest to prawda a nie slogan reklamowy (wczeniej pracowałem w FORTRANIE). Z dowiadczenia mojej pracy ze studentami mog stwierdzi, e osoby majce wczeniej styczno z jzykiem typu C lub FORTRAN, po pierwszych dwugodzinnych zajciach mog praktycznie samodzielnie rozpocz prace w rodowisku MATLABa. Wracajc do SSN to, jeeli mamy przygotowane zbiory danych uczcych X i Z (patrz poprzedni rozdział) i chcemy zaprojektowa okrelon sie to wystarczy napisa nastpujc linijk programu: net = newff (minmax(x), [5 8 3], { pulelin tansig logsig }, traingda );

Realizacja tej linii spowoduje, e pod nazw net bdziemy mieli sie trójwarstwow o liczbie komórek, w kolejnych warstwach, równej 5, 8, 3 i odpowiednich funkcjach aktywacji: liniowa (pulelin), tangens hiperboliczny (tansig) i sigmoidalna (logsig), oraz algorytm uczcy wstecznej propagacji błdu oparty na metodzie gradientu z adaptacyjn zmian współczynnika uczcego (traingda). Dla graficznego zobrazowania takiej sieci mona poprzez narzdzie nntool wczyta tak sie i aktywujc instrukcj view otrzyma obraz przedstawiony na Rys. 5. Rys. 5. Obraz zaprojektowanej sieci net W sieci tej (net) znajduje si ponadto wiele innych parametrów (np. liczba kroków iteracji, rodzaj funkcji uczcej, minimalna warto gradientu itd.), które moemy zdeklarowa w kolejnych liniach programu a jeeli tego nie zrobimy to przyjmowane s arbitralnie narzucone wartoci. Kolejna linia programu wywołuje proces uczenia i ma ona posta: net = train(net,x,z); Realizacja tej linii wywołuje proces uczenia, w którym zmieniane s wagi sieci net, zgodnie z zadanym algorytmem tak, aby zminimalizowa błd pomidzy odpowiedzi sieci a zbiorem uczcym Z. W czasie tego procesu wywietlany jest wykres zmian wartoci błdu w kolejnych krokach iteracji. Uzyskanie na tym etapie duej zgodnoci (małego błdu) pomidzy wartociami Z a wartociami uzyskanymi z sieci nie daje jeszcze podstaw do stwierdzenia, e sie spełnia nasze wymagania. Na tym etapie moe nastpi tak zwane przeuczenie sieci lub nauczenie na pami. Chodzi o to, e jeeli dla tak dobrze nauczonej sieci wprowadzimy dane, na których sie nie była uczona to uzyskamy wyniki obarczone duym błdem. Aby sprawdzi czy sie nie jest obarczona w/w wad naley posiada w zapasie tak zwany zbiór danych testujcych X t, Z t. Dane te nie mog by uyte w procesie uczenia. W tym momencie dla nauczonej sieci net podajemy dane wejciowe X t i wyliczamy odpowied sieci Y t. W naszym przypadku realizujemy to instrukcj:

Y t = sim(net, X t ); Teraz wystarczy porówna wartoci Z t z Y t. i podj decyzj czy uzyskujemy zadawalajce nas wyniki czy nie. Powyszego przykład pokazuje, e posiadajc odpowiedni program wystarczy napisa kilka linijek instrukcji i mamy zaprojektowan, nauczon i przetestowan sie neuronow. Podany przykład jest stosukowo prostym przypadkiem sieci z jednokierunkowym przepływem sygnału (informacji) i metod uczenia z nauczycielem. Tego typu sieci s obecnie powszechnie stosowane. Z ustnych przekazów (czyli z nieznan dokładnoci) słyszałem, e jest to około 80% zastosowa SSN. W tym miejscu nasuwaj si nastpujce pytania:, jak architektur sieci wybra na wstpie, co robi, jeeli wyniki uczenia sieci nas nie zadawalaj, czy dane uywane do uczenia sieci naley wstpnie przetwarza a jeeli tak to jak to robi, jak projektowa sieci ze sprzeniami zwrotnymi, jak podawa sygnały wejciowe z opónieniem itd. Na wszystkie te pytania istniej mniej lub bardziej precyzyjne odpowiedzi, ale o tym ju moe przy nastpnej okazji. Przykład zastosowania SSN Na zakoczenie przedstawi przykład, z własnego podwórka, zastosowania SSN. Jednym z szerszych zastosowa SSN jest rozpoznawanie, klasyfikacja czy odszumianie obrazów. Pojcie obrazu ma w tym przypadku znacznie szersze znaczenie od potocznego rozumienia tego słowa. Jako obraz moemy przykładowo rozumie funkcj zalenoci uzyskanych na drodze pomiaru. Przykładem takiej funkcji jest tak zwane widmo spektrometryczne uzyskane z pomiaru próbki zawierajcej izotopy promieniotwórcze emitujce promieniowanie gamma o rónych energiach. Aby nie zagłbia si tutaj w zagadnienia fizyki jdrowej przedstawi to nastpujco. Załómy, e mamy próbk złoon z izotopów emitujcych fotony gamma o 16 rónych energiach. Równoczenie intensywno emisji poszczególnych fotonów (liczba emitowanych fotonów na jednostk czasu) jest róna dla rónych energii. Zakładajc hipotetycznie, e posiadamy idealny detektor, spektrometryczne widmo z takiej próbki wygldałoby tak jak na Rys. 6 i mona je nazwa widmem pierwotnym. Na osi poziomej tego wykresu jest energia a o pionowa odpowiada intensywnoci promieniowania. Majc taki wykres bez problemu odczytujemy energi fotonów oraz ich intensywno

promieniowania, czyli wielkoci, o które nam chodzi w analizie spektrometrycznej. Problem w tym, e taki detektor nie istnieje. Jednym z powszechnie stosowanych detektorów promieniowania gamma jest detektor scyntylacyjny. Naley on do grupy detektorów spektrometrycznych, lecz ze wzgldu na okrelone procesy detekcji i wzmacniania sygnału powoduje on stosunkowo due zniekształcenia widma spektrometrycznego. Na Rys. 7 pokazane jest widmo pomiarowe z takiego detektora, którego odpowiednikiem jest widmo pierwotne (Rys. 6). Analiza spektrometryczna takiego widma pomiarowego jest trudna a czsto niemoliwa do 5 intensywno promieniowania 4 3 2 1 0 0 50 100 150 200 250 wzgldna energia promieniowania gamma Rys. 6. Widmo pierwotne promieniowania gamma intensyfno promieniowania 5 4 3 2 1 0 0 50 100 150 200 250 wzgldna energia z rejestracji promieniowania gamma Rys. 7. Widmo promieniowania gamma z detektora scyntylacyjnego

wykonania. Na wskutek rozmycia pików, pochodzcych od rónych energii fotonów gamma, nastpuje ich nakładanie i s one w widmie nierozrónialne. Z tych samych przyczyn wyznaczenie intensywnoci promieniowania dla poszczególnych energii fotonów gamma jest czsto niewykonalne. Rozwizaniem byłoby przekształcenie widma pomiarowego w widmo pierwotne, tylko jak to zrobi? Potraktujmy proces detekcji detektorem scyntylacyjnym jako transformacj widma pierwotnego w widmo pomiarowe. Jeeli ta transformacja jest jednoznaczna to wystarczy zrobi transformacj odwrotn i problem mamy rozwizany. Łatwo napisa, ale trudno wykona. Podstawowy problem tkwi w matematycznym okreleniu funkcji transformacji a wynika to z braku precyzyjnego modelu opisu detekcji i wzmacniania sygnału w detektorze scyntylacyjnym. W przypadku braku odpowiednich modeli podstawow metod działania jest zebranie odpowiedniej liczby danych dowiadczalnych i okrelenie szukanych zalenoci. S to najczciej analityczne zalenoci dla funkcji wynikajcych z ogólnych teorii, ale o nieznanych parametrach, lub arbitralnie ustalonych funkcji wynikajcych z analizy danych dowiadczalnych i aproksymacji tych funkcji do tych danych. W nauce a zwłaszcza w technice metoda ta jest szeroko stosowana. W przypadku arbitralnie ustalonych funkcji na postawie obrazu (wykresu), jaki uzyskujemy z danych dowiadczalnych metoda ta daje dobre wyniki dla jedno lub dwu wymiarowych funkcji. Tutaj nasza wyobrania, wytrenowana przez nauczycieli matematyki, pozwala nam tworzy obrazy funkcji jednowymiarowych bez wikszych problemów. Z funkcj dwuwymiarow ju zaczyna by trudniej, cho w dniu dzisiejszym programy graficzne pozwalaj na łatwe obrazowanie takich zalenoci i ogldanie ich pod dowolnymi ktami (w dosłownym znaczeniu). Sprawa staje si bardzo trudna, kiedy nie tylko dziedzina funkcji ma charakter wielowymiarowy, ale i wartoci funkcji s wielowymiarowe. Do takich przypadków doskonale nadaj si SSN i zagadnienie to nazywane jest aproksymacj wielowymiarow. Wracajc do naszego przykładu okazuje si, e wystarczy bardzo prosta jednowarstwowa liniowa SSN pozwalajca na przekształcenie pomiarowego widma spektrometrycznego (Rys. 7) w widmo pierwotne (Rys. 6). Oczywicie, aby otrzyma tak sie naley przygotowa odpowiedni zbiór uczcy i przeprowadzi proces uczenia tej sieci. Łczc tak SSN z detektorem scyntylacyjnym moemy otrzyma idealny detektor, który pozwala uzyska widmo pierwotne. Jak zawsze tak i tutaj s pewne ograniczenia.

Podstawowym ograniczeniem jest to, e taki układ nie rozpozna energii fotonu gamma, jeeli nie była ona uwzgldniona w zbiorze uczcym. Na dokładk wystpienie takiej energii zafałszuje wyniki intensywnoci promieniowania fotonów o energii zblionej do tej nieznanej przez sie energii. W przypadku, kiedy SSN była uczona dla danej energii fotonu a w widmie pomiarowym ona nie wystpuje, to sie prawidłowo podaje, e intensywno promieniowania takich fotonów wynosi zero. I znowu mamy pikn analogi do działania naszego mózgu, czyli nie rozpoznamy osoby na zdjciu, jeeli jej nie znamy (trywialne), ale jeeli jest tam osoba bardzo podobna do kogo, kogo znamy to moemy fałszywie j rozpozna. A nie daj Boe to zdjcie pokazuje nam prokurator i konsekwencje dla fałszywie rozpoznanej osoby mog by bardzo nieprzyjemne. Natomiast, jeeli kogo dobrze znamy to łatwo moemy stwierdzi, e go nie ma na tym zdjciu. Przedstawiony problem naley do dziedziny aproksymacji wielowymiarowej, ale jeeli kto si pogubił w tej wielowymiarowoci to moe to potraktowa jako odszumianie, czyli wydobywanie istotnych cech z zaszumionego obrazu. Z zagadnieniami tego typu lub bardzo podobnymi mamy, do czynienie w powszechnie obecnie stosowanej tomografii komputerowej. Niestety trudno jest znale szczegółowe publikacje na ten temat. Wynika to z faktu, e jest to z zakresu know-how, czyli co, za co trzeba płaci. I tak jest w wielu innych technicznych zastosowaniach SSN. Podsumowanie Mam nadziej, e artykuł ten przybliył czytelnikowi pojcie Sztuczne Sieci Neuronowe, pokazujc ich genez oraz podstawow struktur i przykład zastosowania. Dostpna obecnie literatura i oprogramowanie pozwala na podjcie samodzielnych prób zabawy ze SSN. W takim przypadku wane jest, aby mie cile okrelony problem i cel, jaki chce si osign. Osobom mniej samodzielnym, a zainteresowanym SSN, polecam kursy na temat SSN. Ze swojej praktyki uwaam, e istotnym elementem takich kursów jest moliwo samodzielnego wykonania okrelonych projektów. Samo wysłuchanie lub przeczytanie, czasami bardzo ekscytujcych opowieci o Sztucznych Sieciach Neuronowych czy Sztucznej Inteligencji to za mało, aby potem co samodzielnie zrobi.

Ksiki na temat SSN Duch W., Korbacz J., Rutkowski L., Tadeusiewicz R., Sieci Neuronowe (Biocybernetyka I Inynieria Biomedyczna 2000 Tom 6.) Akademicka Oficyna Wydawnicza EXIT Korbicz J., Obuchowicz A., Uciski D. Sztuczne Sieci Neuronowe Podstawy i Zastosowania, Akademicka Oficyna Wydawnicza PLJ, Warszawa 1994. Osowski S.: Sieci neuronowe w ujciu algorytmicznym, WNT, Warszawa 1996. Osowski S.: Sieci neuronowe do przetwarzania informacji, Oficyna Wydawnicza PW, Warszawa 2000. Tadeusiewicz R.: Sieci neuronowe, Akademicka Oficyna Wydawnicza RM, Warszawa 1993 Tadeusiewicz R.: Elementarne wprowadzenie do techniki sieci neuronowych z przykładowymi programami, Akademicka Oficyna Wydawnicza PLJ, Warszawa 1999. urada J., Barski M., Jdruch W., "Sztuczne sieci neuronowe", Wydawnictwo Naukowe PWN, Warszawa 1996. Strony WWW na temat SSN http://www.ftj.agh.edu.pl/~stegowski/sn.htm http://republika.pl/edward_ch/ http://irm.wsm.szczecin.pl/wwwzirm/sn1.htm http://www.mathworks.com/products/neuralnet/