Sieci Neuronowe 1 Michał Bereta



Podobne dokumenty
Neural networks. Krótka historia rozpoznawanie znaków alfanumerycznych.

Sztuczne sieci neuronowe. Krzysztof A. Cyran POLITECHNIKA ŚLĄSKA Instytut Informatyki, p. 311

Zaawansowane metody numeryczne Komputerowa analiza zagadnień różniczkowych 1. Układy równań liniowych

Rozwiązywanie zadań optymalizacji w środowisku programu MATLAB

Zapis informacji, systemy pozycyjne 1. Literatura Jerzy Grębosz, Symfonia C++ standard. Harvey M. Deitl, Paul J. Deitl, Arkana C++. Programowanie.

Wykład 2: Uczenie nadzorowane sieci neuronowych - I

Nowoczesne technk nformatyczne - Ćwczene 2: PERCEPTRON str. 2 Potencjał membranowy u wyznaczany jest klasyczne: gdze: w waga -tego wejśca neuronu b ba

Sztuczna Inteligencja Tematy projektów Sieci Neuronowe

Zaawansowane metody numeryczne

KURS STATYSTYKA. Lekcja 6 Regresja i linie regresji ZADANIE DOMOWE. Strona 1

SZACOWANIE NIEPEWNOŚCI POMIARU METODĄ PROPAGACJI ROZKŁADÓW

Wykład 2: Uczenie nadzorowane sieci neuronowych - I

Projekt 6 6. ROZWIĄZYWANIE RÓWNAŃ NIELINIOWYCH CAŁKOWANIE NUMERYCZNE

Laboratorium ochrony danych

Sztuczne sieci neuronowe

Analiza danych OGÓLNY SCHEMAT. Dane treningowe (znana decyzja) Klasyfikator. Dane testowe (znana decyzja)

WikiWS For Business Sharks


KRZYWA BÉZIERA TWORZENIE I WIZUALIZACJA KRZYWYCH PARAMETRYCZNYCH NA PRZYKŁADZIE KRZYWEJ BÉZIERA

Metody Sztucznej Inteligencji II

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

Neuron liniowy. Najprostsza sieć warstwa elementów liniowych

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

SZTUCZNA INTELIGENCJA

Sieci Neuronowe 2 Michał Bereta

STATECZNOŚĆ SKARP. α - kąt nachylenia skarpy [ o ], φ - kąt tarcia wewnętrznego gruntu [ o ],

wiedzy Sieci neuronowe

Analiza rodzajów skutków i krytyczności uszkodzeń FMECA/FMEA według MIL STD A

SIECI NEURONOWE Liniowe i nieliniowe sieci neuronowe

Portfele zawierające walor pozbawiony ryzyka. Elementy teorii rynku kapitałowego

I. Elementy analizy matematycznej

IMPLEMENTACJA SIECI NEURONOWYCH MLP Z WALIDACJĄ KRZYŻOWĄ

Wprowadzenie do Sieci Neuronowych Sieci rekurencyjne

Definicje ogólne

) będą niezależnymi zmiennymi losowymi o tym samym rozkładzie normalnym z następującymi parametrami: nieznaną wartością 1 4

Wstęp do sztucznych sieci neuronowych

Systemy Ochrony Powietrza Ćwiczenia Laboratoryjne

Zestaw zadań 4: Przestrzenie wektorowe i podprzestrzenie. Liniowa niezależność. Sumy i sumy proste podprzestrzeni.

MATEMATYKA POZIOM ROZSZERZONY Kryteria oceniania odpowiedzi. Arkusz A II. Strona 1 z 5

Natalia Nehrebecka. Wykład 2

Diagonalizacja macierzy kwadratowej

Wprowadzenie do Sieci Neuronowych Algorytm wstecznej propagacji błędu

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

Podstawy Sztucznej Inteligencji (PSZT)

Sztuczne sieci neuronowe

Proces narodzin i śmierci

Nieeuklidesowe sieci neuronowe

5. OPTYMALIZACJA GRAFOWO-SIECIOWA

Zastosowanie symulatora ChemCad do modelowania złożonych układów reakcyjnych procesów petrochemicznych

Podstawy sztucznej inteligencji

TRANZYSTOR BIPOLARNY CHARAKTERYSTYKI STATYCZNE

Inteligentne systemy decyzyjne: Uczenie maszynowe sztuczne sieci neuronowe

Za: Stanisław Latoś, Niwelacja trygonometryczna, [w:] Ćwiczenia z geodezji II [red.] J. Beluch

BADANIA OPERACYJNE. Podejmowanie decyzji w warunkach niepewności. dr Adam Sojda

Proste modele ze złożonym zachowaniem czyli o chaosie

Problemy jednoczesnego testowania wielu hipotez statystycznych i ich zastosowania w analizie mikromacierzy DNA

Problem plecakowy (KNAPSACK PROBLEM).

Modele wieloczynnikowe. Modele wieloczynnikowe. Modele wieloczynnikowe ogólne. α β β β ε. Analiza i Zarządzanie Portfelem cz. 4.

Współczynnik przenikania ciepła U v. 4.00

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

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

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

5. CHARAKTERYSTYKI CZĘSTOTLIWOŚCIOWE

Analiza danych. Analiza danych wielowymiarowych. Regresja liniowa. Dyskryminacja liniowa. PARA ZMIENNYCH LOSOWYCH

Inteligentne systemy przeciw atakom sieciowym

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

STATYSTYKA MATEMATYCZNA WYKŁAD 5 WERYFIKACJA HIPOTEZ NIEPARAMETRYCZNYCH

Elementy inteligencji obliczeniowej

EKONOMETRIA I Spotkanie 1, dn

Diagnostyka układów kombinacyjnych

W praktyce często zdarza się, że wyniki obu prób możemy traktować jako. wyniki pomiarów na tym samym elemencie populacji np.

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

Określanie mocy cylindra C w zaleŝności od ostrości wzroku V 0 Ostrość wzroku V 0 7/5 6/5 5/5 4/5 3/5 2/5 Moc cylindra C 0,5 0,75 1,0 1,25 1,5 > 2

Twierdzenie Bezouta i liczby zespolone Javier de Lucas. Rozwi azanie 2. Z twierdzenia dzielenia wielomianów, mamy, że

Zastosowania sieci neuronowych

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

Stanisław Cichocki. Natalia Nehrebecka. Wykład 6

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

OGÓLNE PODSTAWY SPEKTROSKOPII

XXX OLIMPIADA FIZYCZNA ETAP III Zadanie doświadczalne

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

Temat: Sieci neuronowe oraz technologia CUDA

Wykład IX Optymalizacja i minimalizacja funkcji

HAŁASU Z UWZGLĘDNIENIEM ZJAWISK O CHARAKTERZE NIELINIOWYM

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.

KURS STATYSTYKA. Lekcja 1 Statystyka opisowa ZADANIE DOMOWE. Strona 1

D Archiwum Prac Dyplomowych - Instrukcja dla studentów

Jakość cieplna obudowy budynków - doświadczenia z ekspertyz

Weryfikacja hipotez dla wielu populacji

REALIZACJA PRZETWARZANIA W CHMURZE OBLICZENIOWEJ NA PRZYKŁADZIE SYSTEMU UCZENIA SIECI NEURONOWEJ OPARTEGO NA TECHNOLOGII MICROSOFT WINDOWS AZURE

Modelowanie i obliczenia techniczne. Metody numeryczne w modelowaniu: Optymalizacja

Wstęp do metod numerycznych Faktoryzacja SVD Metody iteracyjne. P. F. Góra

Metody analizy obwodów

7.8. RUCH ZMIENNY USTALONY W KORYTACH PRYZMATYCZNYCH

CAŁKOWANIE NUMERYCZNE całki pojedyncze

Statystyka. Zmienne losowe

(M2) Dynamika 1. ŚRODEK MASY. T. Środek ciężkości i środek masy

( ) ( ) 2. Zadanie 1. są niezależnymi zmiennymi losowymi o. oraz. rozkładach normalnych, przy czym EX. i σ są nieznane. 1 Niech X

Procedura normalizacji

11/22/2014. Jeśli stała c jest równa zero to takie gry nazywamy grami o sumie zerowej.

Transkrypt:

Wprowadzene Zagadnena Sztucznej Intelgencj laboratorum Sec Neuronowe 1 Mchał Bereta Sztuczne sec neuronowe można postrzegać jako modele matematyczne, które swoje wzorce wywodzą z bolog obserwacj ludzkch komórek nerwowych. Perwszy model neuronu został zaproponowany w 1943 roku przez McCullocha Pttsa. Był to prosty neurony, który mógł modelować funkcje logczne take jak OR lub AND. W 1958 roku Rosenblatt zaproponował model perceptronu, a w roku 1960 powstał model ADALINE autorstwa Wdrowa Hoffa. Model bologcznej komórk nerwowej pokazano na rysunku 1. Rysunek 1: Model komórk nerwowej. Do każdego neuronu dochodzą pewne sygnały (bodźce). Są one doprowadzane za pomocą synaps. Bodźce pochodzące od synaps wywoływane są przez specjalne substancje chemczne, zwane neuromedatoram. Zmana potencjału elektrycznego komórk zależna jest od lośc neuromedatora w synapse. Sygnał wyjścowy jest wyprowadzany z komórk za pomocą aksonu. Sygnały wyjścowe neuronów mogą być sygnałam wejścowym nnych neuronów. Sygnałam pobudzającym neurony mogą być także sygnały pochodzące z receptorów nerwowych. Podstawowe pojęca defncje Na podstawe bologcznego modelu z rysunku 1, McCulloch Ptts, zaproponowal model matematyczny sztucznego neuronu (rysunek 2).Sygnały dochodzące do neuronu (x 1, x 2,...x N ) mnożone są przez tzw. wag w j ( - numer neuronu; j - numer wag). Parametr k oznacza chwle czasową. Dodatkowy sygnał jednostkowy nazwano basem. Na podstawe wag dochodzących sygnałów oblczany jest stan wewnętrzny neuronu u

Wzór 1: Aktywacja perceptronu (sumacja ważona). Rysunek 2: Model sztucznego neuronu McCullocha-Pttsa. Natomast odpowedź neuronu y zależy od tego czy stan wewnętrzny neuronu (jego pobudzene) przekracza pewen pozom. Odpowada za to funkcja aktywacj f(u ), która w modelu McCullocha-Pttsa jest funkcją progową. Wzór 2: Unpolarna funkcja aktywacj perceptonu. Najczęścej stosowanym funkcjam aktywacj neuronu są (oprócz funkcj lnowej) funkcja sgmodalna oraz tangens hperbolczny (rysunek 3). + N j j j k w k x k w k u 1 0 ) ( ) ( ) ( ) ( > 0 0 0 1 ) ( u u u f

Rysunek 3: Funkcje aktywacj: sgmodalna tangens hperbolczny. Parametr β pozwala wpływać na kształt funkcj. Popularność tych funkcj spowodowana jest łatwoścą oblczana ch pochodnych, co jest koneczne przy użycu algorytmów uczena opartych na podejścu gradentowym. Wartośc pochodnych dla powyższych funkcj łatwo oblczyć znając jedyne wartośc samych funkcj. Stan wewnętrzny (pobudzene neuronu) tak jak poprzedno oblcza sę sumując z wagam sygnały wejścowe neuronu: u ( N j 1 w ( x ( j j + w 0 ( Sygnał wyjścowy neuronu jest wylczany za pomocą funkcj aktywacj sgmodalnej, tanh lub nnej, która jako argument przyjmuje stopeń pobudzena neuronu (rysunek 4). Rysunek 4: Model sztucznego neuronu z nelnową funkcją aktywacj.

Sztuczna seć neuronowa Sztuczną seć neuronowa uzyskuje sę łącząc ze sobą warstwy neuronów. Na rysunku 5 pokazano model sec welowarstwowej. Rysunek 5: Model sec z dwema warstwam. Na rysunku 5 przedstawono seć neuronową dwuwarstwową.. Wdać, że sygnały wyjścowe warstwy perwszej są jednocześne sygnałam wejścowym neuronów warstwy drugej, która jest jednocześne warstwą wyjścową sec, tzn. odpowedz neuronów tej warstwy określają odpowedź całej sec. Dodawane nowych warstw powoduje, że seć ma wększą moc oblczenową. W wynku wykorzystana welu warstw, seć potraf poradzć sobe z problemam, które mają charakter nelnowy, czego ne jest w stane dokonać seć jednowarstwowa. Uczene sec Uczene pod nadzorem. Uczene sec jest to proces doboru odpowednego zestawu wag danej sec, dla danego konkretnego zadan. W zasadze stneją dwe metody uczena sec: bez nauczycela z nauczycelem (pod nadzorem)- rysunek 6. Rysunek 6: Schemat uczena pod nadzorem. W metodze uczena pod nadzorem na wejśca sec podaje sę sygnały x. Seć odpowada sygnałam y, które są wyjścam poszczególnych neuronów. Nauczycel, wedząc jake sygnały są pożądane (sygnały d) na wyjścu sec dla każdego sygnału x, porównuje je z aktualną odpowedzą sec, po czym modyfkuje wag neuronów z uwzględnenem znanego błędu e sec. Dobór odpowednch wag odpowada procesow mnmalzacj funkcj błędu, którą można zapsać jako:

E N 1 ( y ( d ( ) 2 gdze N to lczba neuronów w warstwe wyjścowej sec (sumowane są błędy wszystkch neuronów wyjścowych). Sumaryczny błąd uwzględnający wszystke prezentowane sec wzorce (lub ch część) można zapsać jako: E N 1 p k 1 ( y ( d ( ) 2 Błąd ten jest równy sume błędów wszystkch neuronów (sumowane po ) ze względu na wszystke prezentowane m dane uczące (sumowane po. Modyfkacja wag odbywa sę według wzoru: w ( k + 1) w ( + w ( j j j gdze oznacza numer neuronu, j oznacza kolejną wagę tego neuronu, a k oznacza krok czasowy. Konkretna wartość wj zależy od przyjętego algorytmu uczena. Do uczena sec często używa sę metod gradentowych oblczając gradent funkcj błędu a następne modyfkując wartośc wag w kerunku najwększego spadku funkcj błędu. Do doboru wartośc wag wykorzystuje sę równeż algorytmy genetyczne. Uczene bez nadzoru. Nektóre rodzaje sec neuronowych, jak na przykład sec Hebba czy Kohonena, uczone są bez wykorzystana zboru wzorcowych odpowedz. Seć uczona jest za pomocą jedyne danych wejścowych. Sec tego typu wykorzystywane są mn. w zadanach klasteryzacj (grupowana). Klasteryzacja to dzelene danego zboru danych na podzbory, których elementy maja pewne cechy wspólne. Zastosowane sec neuronowych Sztuczne sec neuronowe stosuje sę do takch zagadneń jak: - klasyfkacja danych - aproksymacja funkcj - predykcja szeregów czasowych - rozpoznawane wzorców - kompresja danych Podstawowe modele sec neuronowych Perceptron prosty Model McCullocha-Pttsa przedstawony na rysunku 2 jest punktem wyjśca do konstrukcj najprostszej sztucznej sec neuronowej o nazwe perceptron (zwanej równeż perceptronem prostym). Zadanem perceptronu prostego jest klasyfkacja podanego na wejśce wektora x do jednej z dwoch klas L 1 lub L 2. Jeśl sygnał wyjścowy neuronu przyjmuje wartość 1 to wektor x jest zaklasyfkowany do klasy L 1, jeśl przyjmuje wartość 0 do klasy L 2. Zatem perceptron dzel N-wymarową przestrzeń wektorów wejścowych na dwe półprzestrzene rozdzelone N-1 wymarową hperpłaszczyzną. Hperpłaszczyzna ta zwana jest powerzchną (grancą) decyzyjną. Jeśl N2 to jest to lna prosta. Aby zbór danych wejscowych mógł by oddzelony przez hperpłaszczyznę, mus być lnowo separowalny. Neznane wartośc wag doberane są w procese uczena perceptronu. Reguła uczena perceptronu Jeśl na wejśce neuronu podawane są wektory x[1,x 1, x 2,...], seć odpowada sygnałem y, a żądana odpowedź jest równa d, to wektor wag w[w 0,w 1,w 2,...] jest modyfkowany zgodne z ponższym zasadam:

- jeśl yd to wag pozostają nezmenone (wektor x został prawdłowo zaklasyfkowany) - jeśl y0 a d1 to w j (k+1) w j ( +η* x j - jeśl y1 a d0 to w j (k+1) w j ( η*x j gdze η jest krokem korekcj. Procedurę tę powtarza sę dla wszystkch danych uczących (x,d) welokrotne. Krok te można zapsać łączne jako w j (k+1) w j ( + η*(d-y)*x j Zadane do wykonana: Uczene perceptronu Należy pobrać ze strony demonstracyjny program PerceptronDemo. Zaobserwować jak dwe klasy lnowo separowane są oddzelone przez powerzchnę decyzyjną (lnę prostą w tym przypadku). Uczony perceptron ma bpolarną (odpowada wartoścam 1 lub -1) funkcje aktywacj. W trakce wykonywana programu, dane uczące mogą być modyfkowane poprzez ch przecągane z przycśnętym lewym przycskem myszk. Po klknęcu przytrzymanu prawego przycsku myszk, wag perceptronu zostaną ustawone na losowe wartośc, tak aby proces uczena mógł zacząć se ponowne. Okno programu predstawa wycnek płaszczyzny 2d o wymarach [0 ; 1] x [0 ; 1], punkt (0,0) znajduje sę w lewym dolnym rogu. Rysunek 7: Program PerceptronDemo Po uruchomenu programu na okne konsol są wdoczne wartośc parametrów, z jakm program został uruchomony. Są to: krok korekcj η (eta) oraz flaga wskazująca czy w trakce nauk używany jest bas. Parametry te moża ustawć w trakce uruchamana programu z ln poleceń, np: PerceptronDemo 0.08 0 Perwszy parametr to krok korekcj, drug wskazuje, czy użyć ( 1 ) czy ne użyć ( 0 ) basu w uczonym perceptrone. Znaczene basu Bas spełna w perceptrone ważną rolę. Rozważmy to na przykładze. Na płaszczyźne wzór na powerzchnę decyzyjną perceptronu można przedstawć jako:

w1 x w2 y w00 gdze w0 jest basem. Jeśl wyznaczymy zależność y względem x, otrzymamy: y w1/ w2 x w0/ w2 Jest to znany wzór na prostą typu: ya x b Wadomo, że a jest współczynnkem kerunkowym prostej (tangens kąta mędzy tą prostą a osą x), natomast b wyznacza punkt przecęca przez prostą os y. Zwróćmy uwagę, że jeśl bas jest równy zero, to b równeż bedze zero. Jeśl węc nasz perceptron ne będze używał basu, będze on mógł wyznaczać grance decyzyjne w postac prostych przechodzących przez początek układu współrzędnych (w przypadku wększej lczby wymarów sytuacja jest analogczna). Ne będze wec mógł wyznaczać dowolnego podzału przestrzen an nauczyć se dobrze klasyfkować danych z dwóch klas, nawet jeśl te klasy są lnowo separowalne (tzn. stneje taka prosta hperpłaszczyzna która je oddzela). Na rysunku ponżej wdać przykład dwóch klas, których perceptron bez basu ne jest w stane sę nauczyć można to poznać po tym, ze każda lna reprezentująca wag perceptronu, przechodz przez punkt (0,0), czyl lewy dolny róg okna programu. Rysunek 8: Przykład danych lnowo separowalnych, ktorych ne może nauczyć sę perceptron bez basu. Pytana: 1. Czy w przypadku danych uczących, które ne są lnowo separowalne, perceptron jest w stane sę odpowedno nauczyć klasyfkować dane? Dlaczego? Przygotuj przedstaw take dane. 2. Przyglądnj sę procesow nauk perceptronu dla różnych wartośc parametru eta. Jak zależy proces uczena od wartośc tego parametru? 3. Uruchom program bez wykorzystana basu pokaż na przykładze danych, które są lnowo separowalne, że perceptron bez basu mmo tego ne daje rady sę ch nauczyć.

4. Zapsz regułę uczena perceptronu dla zastosowanej w programe bpolarnej funkcj aktywacj perceptronu. Układy typu ADALINE Układ typu ADALINE (ang. Adaptve Lnear Neuron) został zaproponowany w 1960 roku przez Wdrowa Hoffa. Nazywany jest równeż adaptacyjnym lnowym sumatorem ważonym. Model ważonego sumatora lnowego jest przedstawony na rysunku 9. Rysunek 9: Schemat modelu ADALINE. - Algorytm modyfkacj wag ma charakter uczena pod nadzorem. Sygnał wyjścowy y sumatora porównywany jest z sygnałem wzorcowym d. Uzyskany w ten sposób błąd sumatora wykorzystany jest do zmodyfkowana wartośc wag zgodne ze wzorem: T w( k + 1) w( + η x( [ d( w ( x( ] Parametr eta jest jak poprzedno krokem korekcj. Algorytm ten realzuje uczene pod nadzorem należy do klasy algorytmów gradentowych, gdyż mnmalzuje funkcję błędu neuronu wyrażoną wzorem: E ( d( y ( ) 2 dla k-tego wzorca uczącego. W zależnośc od przyjętej metody uczena, adaptacj wag dokonywać można po prezentowanu każdej pary uczącej, lub też po prezentacj wszystkch par danych uczących. W drugm przypadku mnmalzowaną funkcję błędu można zapsać jako: E p k 1 ( y( d( ) 2 Oblczając gradent funkcj błędu względem wag otrzymuje sę: E w( 2[ d( w T ( x( ] x( Gradent wyznacza kerunek najwększego wzrostu wartośc funkcj, modyfkacj wag dokonuje sę zatem w

przecwnym kerunku, czyl kerunku najwększego spadku. Adaptacyjny lnowy sumator ważony z nelnową funkcją aktywacj. W przypadku zastosowana nelnowej funkcj aktywacj zgodne z rysunkem 10, koneczne jest zmodyfkowane wzoru modyfkacj wag. Wynka to z nnej postac gradentu funkcj błędu. Gradent funkcj błędu wynos: E w( 2 f '( y( ) x( [ d( y( ] Pojawa sę pochodna funkcj aktywacj. Wzór na modyfkację wartośc wag przyjmuje postać: w( k + 1) w( + η x( [ d( y( ] f '( y( ) Rysunek 10 Schemat sumatora ważonego z nelnową funkcją aktyacj. Wartość pochodnej dla danej nelnowej funkcj aktywacj, często można wylczyć na podstawe wartośc samej funkcj. Przykładowo, dla funkcj sgmodalnej z parametrem beta równym 1, wartość pochodnej określa wzór: f '( x) f ( x)(1 f ( x)) W przypadku welu sumatorów (neuronów) połączonych w jedną warstwę, wag każdego neuronu modyfkuje sę osobno zgodne z podanym wzoram. Algorytm wstecznej propagacj błędów W przypadku sec welowarstwowych najczęścej stosowanym algorytmem uczena jest algorytm wstecznej propagacj błędów. Jego nazwa pochodz stąd, ż po oblczenu odpowedz sec na zadany wzorzec, oblczana jest wartość gradentu funkcj błędu dla neuronów ostatnej warstwy. Następne modyfkuje sę ch wag. Błąd jest propagowany do warstwy wcześnejszej (przedostatnej). Wartośc funkcj gradentu dla neuronów z tej warstwy oblczane są w oparcu o gradenty dla neuronów z warstwy następnej (czyl ostatnej). Modyfkowane są wag kolejnej warstwy. Postępowane trwa aż do warstwy wejścowej. Istneje wele warantów ulepszeń orygnalnej metody wstecznej propagacj błędów. Pozwalają one uzyskać lepsze efekty uczena lub przyśpeszyć proces nauk.

Zależność efektów uczena sec od jej archtektury Udowodnono, że perceptron welowarstwowy jest doskonałym aproksymatorem, tzn. może nauczyć sę dowolnego odwzorowana (węc równeż aproksymować dowolną funkcję) pod warunkem, że posada odpowedną lczbę neuronów. Dobór odpowednej struktury sec neuronowej, dostosowanej do danego problemu, jest zadanem trudnym. Zły dobór parametrów sec powoduje, że seć ne może sę dobrze nauczyć odpowednego odwzorowana, lub też charakteryzuje sę złą zdolnoścą generalzacj, czyl źle radz sobe z danym, których wcześnej ne wdzała (tzn. których ne użyto w trakce uczena sec). Przykładowo, na rysunku 11 wdzmy seć dobrze aproksymującą zadaną funkcję: Rysunek 11. Dobrze odwzorowana funkcja. Danym uczącym seć były punkty oznaczone krzyżykam. Wdać, że seć odpowada równeż dobrze w punktach, które ne zostały jej zaprezentowane w czase nauk. Jednak ne zawsze nam sę udaje tak dobrze nauczyć sec. Na rysunku 12 wdzmy przypadek, gdy seć została przeuczona charakteryzuje sę złą zdolnoścą uogólnana: Rysunek 12. Przeuczona seć. Jednak jeśl na przykład użyjemy zbyt małej lczby neuronów, seć będze nedouczona (ne poradz sobe z zadanym problemem, będze mała zbyt małą moc oblczenową) rysunek 13.

Rysunek 13 Nedouczona seć. Podczas uczena sec dla danego zadana należy określć: - archtekturę sec - algorytm uczena jego parametry, - dobór danych uczących ch obróbkę wstępną - lczbę prezentacj (teracj) danych uczących (moment zakończena nauk) - metodę oceny jakośc sec - początkowe wartośc wag td. Symulacja układu logcznego XOR Operacja logczna XOR przyjmuje dwa parametry bnarne odpowada równeż wartoścą 0 lub 1. Ponższa tabelka przedstawa odpowedz funkcj XOR dla wszystkch możlwych danych wejścowych: X Y XOR 1 1 0 1 0 1 0 1 1 0 0 0 Problem polega na odwzorowanu tej funkcj za pomocą sec neuronowej (rysunek 14). Rysunek 14. Problem XOR. Wejścam dla sec są wartośc logczne X oraz Y, natomast na wyjścu pojawa sę wartość funkcj XOR dla podanych argumentów. Rozpatrywana seć ma dwa sygnały wejścowe jeden wyjścowy. Ne można jednak rozwązać tego problemu za pomocą jednego neuronu o dwóch wejścach (plus bas), gdyż może on

wygenerować jedyne hperpłaszczyznę, tj. lnę prostą, dowolne przysunętą. Jedną lną ne można oddzelć odpowedno od sebe argumentów funkcj XOR (czyl tych, które dają w wynku 1 od tych które dają w wynku 0). Dla rozwązana tego klasycznego problemu potrzebna jest seć z co najmnej dwema warstwam. Model tak pokazano na rysunku 15. Rysunek 15. Seć rozwązująca problem XOR. Rozpatrywana seć dokonuje odpowednego nelnowego podzału wykorzystując dwe hperpłaszczyzny, jak pokazano na rysunku 16: Rysunek 16. Rozwązane zadana XOR. Środowsko JOONE Do dalszej pracy wykorzystamy środowsko JOONE (Java Object Orented Neural Engne). Jest ono dostępne pod adresem http://www.joone.org/. Daje ono szeroke możlwośc konstruowana testowana różnorodnych archtektur sec neuronowych w zastosowanu do szeregu problemów. Na rysunku 17 przedstawono nterfejs środowska.

Rysunek 17: JOONE (Java Object Orented Neural Engne). W celu rozwązana problemu XOR oraz zapoznana sę z Joone przed przystąpenem do bardzej skomplkowanych zadań, skonstruujemy seć neuronową typu welowarstwowego perceptronu, która pownna rozwązać ten problem. Tak jak zostało pokazane wcześnej, nasza seć mus meć warstwę ukrytą wyjścową. W Joone będze jeszcze dodatkowa warstwa wejścowa, której zadanem będze jedyne doprowadzane sygnałów wejścowych do warstwy ukrytej. Podstawowym elementam, z których budujemy seć w Joone jest warstwa (ang. Layer). Przyjrzyj sę panelow Joone znajdź na toolbarze odpowedne przycsk: NewLnearLayer, NewSgmodLayer. Nastepne dodaj trzy warstwy tak jak ponżej: Perwsza warstwa pownna meć dwa neurony (parametr rows; w warstwe wejścowej jest tyle neuronow, le jest wymarów danych wejścowych), druga warswa (warstwa ukryta) jest warstwą neuronów z sgmodalnym funkcjam aktywacj posada dwa neurony, warstwa wyjścowa ma jeden lnowy neuron. Przecągając lnę mędzy warstwam, połącz warstwy w tak sposób, aby otrzymać następującą strukturę:

Każdy neuron z danej warstwy został połączony z każdym neuronem warstwy następnej. Struktura sec jest gotowa. Teraz przygotujemy dane uczące. Stwórz plk tekstowy xor.data z następującą zawartoścą: 0.0;0.0;0.0 0.0;1.0;1.0 1.0;0.0;1.0 1.0;1.0;0.0 Dwe perwsze kolumny reprezentują dane wejścowe, trzeca kolumna to wzorcowe odpowedz. Dodaj w edytorze strumeń wejścowy z plku: NewFleInputLayer. Klknj na nego prawym przycskem myszy ustaw jego właścwośc (p. rysunek ponżej): Advanced Column Selector: 1,2 flename: xor.data Co oznacza, ze dane wejścowe to kolumny 1 oraz 2. Połącz dane wejścowe z warstwą wejścowa. Dodajemy nauczycela, który bedze czuwał nad procesem uczena. Dodaj NewTeacherLayer oraz jeszcze jeden NewFleInputLayer. Ustaw właścwośc nowej warstwy FleInput na: Advanced Column Selector: 3 flename: xor.data Znaczy to, że wzorcowym danym wyjścwoym sec są dane z trzecej kolumny plku xor.data. Połącz nowe elementy jak na rysunku ponżej.

Seć jest gotowa do nauk. Otwórz Tools->ControlPanel ustaw wartośc na: learnng: True learnngrate: 0.8 momentum: 0.3 epochs: 50000 tranng patterns: 4 Klknj Run. Obserwuj, jak błąd średnokwadratowy (RMSE) maleje.

Czas przetestować seć. Dodaj do edytora NewFleOutputLayer ustaw jego włąscwośc jak na rysunku. Ustaw właścwość Teacher enabled na false. Następne przejdź do ControlPanel ustaw: learnng: False epochs: 1 tranng patterns: 4 Zawartość plku xor_results.data pownna wyglądać mnej wecej następująco: 0.005218926410945011 0.9999885110810375 0.9999902774208039 0.003631796924953539 Wdać, że seć nauczyła sę odpowadać odpowednm wartoścam (blskm 1 lub blskm 0) na odpowedne dane wejścowe. Porównaj otrzymane odpowedz z odpowedzam wzorcowym dla problemu XOR. Nauczonż seć można zapsać wyberając Fle->Save. Zadana: 1. Sprawdź, że rzeczywśce seć posadająca jeden neuron w warstwe ukrytej ne jest w stane nauczyć se problemu xor. Po czym można to poznać? 2. Przetestuj proces uczena sec dla różnych ustaweń parametrów uczena: learnngrate, momentum, lczba teracj (epochs). Do lu teracj warto uczyć seć (do kedy błąd spada)? 3. Co sę stane jeśl zwekszymy lbczę neuronów ukrytych na 3, 4, 5, 6 td. Czy przyśpeszy to proces uczena lub zmnejszy błąd? Zawsze?

4. Powtórz poprzedne zadana z wykorzystanem warstwy ukrytej z neuronam typu lnowego. Czy stneje zauważalna rożnca w porównanu do zastosowanych wczesnej neuronów typu sgmodalnego? 5. Dla jakej archtektury sec błąd był najmnejszy? Po jakej lczbe teracj z jakm parametram? Przedstaw dane w tablekach. 6. Czy problemy logczne AND oraz OR są problemam lnowo separowalnym? Przygotuj odpowedne dane uczące sprawdz swoje przypuszczena powtarzając eksperymenty dla tych nowych danych. Odpowedź usasadnj posłkując sę wynkam. Wszystke wnosk spostrzeżena poprzyj w sprawozdanu wynkam przeprowadzonych oblczeń symulacj, jak równeż przedstaw przeprowadzane eksperymenty badane sec na rysunkach ( screenach ). Wynk przedstaw w opsanych tabelkach.