Sztuczne sieci neuronowe

Podobne dokumenty
Sztuczne sieci neuronowe. Uczenie, zastosowania

Sztuczne sieci neuronowe

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

Metody Sztucznej Inteligencji II

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

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.

Sztuczna Inteligencja Tematy projektów Sieci Neuronowe

IMPLEMENTACJA SIECI NEURONOWYCH MLP Z WALIDACJĄ KRZYŻOWĄ

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

Sztuczne sieci neuronowe

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

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

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

Podstawy sztucznej inteligencji

MODELOWANIE RZECZYWISTOŚCI

Zagadnienia optymalizacji i aproksymacji. Sieci neuronowe.

wiedzy Sieci neuronowe

Inteligentne systemy przeciw atakom sieciowym

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

Sztuczne sieci neuronowe (SNN)

Temat: Sieci neuronowe oraz technologia CUDA

Uczenie sieci neuronowych i bayesowskich

Inteligentne systemy informacyjne

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

Inteligentne systemy decyzyjne: Uczenie maszynowe sztuczne sieci neuronowe

Elementy Sztucznej Inteligencji. Sztuczne sieci neuronowe cz. 2

Wstęp do sztucznych sieci neuronowych

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

Podstawy Sztucznej Inteligencji (PSZT)

Elementy inteligencji obliczeniowej

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

Zastosowania sieci neuronowych

Inteligentne systemy decyzyjne: Uczenie maszynowe sztuczne sieci neuronowe

Uczenie sieci typu MLP

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

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

Zastosowania sieci neuronowych

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

Sztuczne sieci neuronowe Ćwiczenia. Piotr Fulmański, Marta Grzanek

x 1 x 2 x 3 x n w 1 w 2 Σ w 3 w n x 1 x 2 x 1 XOR x (x A, y A ) y A x A

1. Logika, funkcje logiczne, preceptron.

Widzenie komputerowe

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

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

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

Elementy kognitywistyki III: Modele i architektury poznawcze

OCENA DZIAŁANIA AE. METODY HEURYSTYCZNE wykład 4 LOSOWOŚĆ W AE KRZYWE ZBIEŻNOŚCI ANALIZA STATYSTYCZNA:

Wykład 1: Wprowadzenie do sieci neuronowych

6. Perceptron Rosenblatta

ELEMENTY SZTUCZNEJ INTELIGENCJI. Sztuczne sieci neuronowe

SIECI NEURONOWE Liniowe i nieliniowe sieci neuronowe

Elementy kognitywistyki II: Sztuczna inteligencja. WYKŁAD XI: Sztuczne sieci neuronowe

I EKSPLORACJA DANYCH

Seminarium magisterskie. Dyskusja nad tematem pracy magisterskiej pisanej pod kierunkiem pani Dr hab. Małgorzaty Doman

Sztuczna inteligencja

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

Metody sztucznej inteligencji

Aproksymacja funkcji a regresja symboliczna

Optymalizacja ciągła

METODY INTELIGENCJI OBLICZENIOWEJ wykład 5

SZTUCZNE SIECI NEURONOWE

METODY INTELIGENCJI OBLICZENIOWEJ wykład 4

SZTUCZNE SIECI NEURONOWE

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

HAŁASU Z UWZGLĘDNIENIEM ZJAWISK O CHARAKTERZE NIELINIOWYM

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

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

Sieci neuronowe w Statistica

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

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

Zastosowanie metod eksploracji danych Data Mining w badaniach ekonomicznych SAS Enterprise Miner. rok akademicki 2013/2014

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

Testowanie modeli predykcyjnych

Sieci neuronowe i ich ciekawe zastosowania. Autor: Wojciech Jamrozy III rok SMP / Informatyka

Techniki Optymalizacji: Stochastyczny spadek wzdłuż gradientu I

Wstęp do sieci neuronowych, wykład 07 Uczenie nienadzorowane cd.

Uczenie sieci radialnych (RBF)

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

PRÓBA ZASTOSOWANIA SIECI NEURONOWYCH DO PROGNOZOWANIA OSIADAŃ POWIERZCHNI TERENU POWSTAŁYCH NA SKUTEK EKSPLOATACJI GÓRNICZEJ**

BIOCYBERNETYKA SIECI NEURONOWE. Akademia Górniczo-Hutnicza. Wydział Elektrotechniki, Automatyki, Informatyki i Inżynierii Biomedycznej.

Wstęp do sieci neuronowych, wykład 04. Skierowane sieci neuronowe. Algorytmy konstrukcyjne dla sieci skierowanych

wiedzy Sieci neuronowe (c.d.)

Sieci neuronowe w Statistica. Agnieszka Nowak - Brzezioska

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

Podstawy Sztucznej Inteligencji

Sieć przesyłająca żetony CP (counter propagation)

Sieci M. I. Jordana. Sieci rekurencyjne z parametrycznym biasem. Leszek Rybicki. 30 listopada Leszek Rybicki Sieci M. I.

METODY INŻYNIERII WIEDZY

Sztuczne siei neuronowe - wprowadzenie

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

SZTUCZNA INTELIGENCJA

Lekcja 5: Sieć Kohonena i sieć ART

Optymalizacja optymalizacji

Obliczenia Naturalne - Sztuczne sieci neuronowe

Projekt Sieci neuronowe

w analizie wyników badań eksperymentalnych, w problemach modelowania zjawisk fizycznych, w analizie obserwacji statystycznych.

Podstawy sztucznej inteligencji

Zastosowania sieci neuronowych - automatyka identyfikacja sterowanie

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

Podstawy sztucznej inteligencji

Transkrypt:

Wydział Zarządzania AGH Katedra Informatyki Stosowanej Systemy wspomagania decyzji

Wprowadzenie Trochę historii Podstawy działania Funkcja aktywacji Uczenie sieci Typy sieci Zastosowania 2

Wprowadzenie Zainteresowanie SSN wynika z potrzeby budowania efektywnych systemów przetwarzania informacji opartych na regułach neurofizjologii. Przetwarzanie w takich systemach odbywa się w sposób równoległy w odróżnieniu od klasycznych, sekwencyjnych systemów wywodzących się z modelu von Neumanna. Założenia: tradycyjne systemy są mało wydajne, mózg ludzki ma przewagę nad maszyną. Często podkreślane podobieństwo do systemów biologicznych jest raczej nieuzasadnione, gdyż wciąż zbyt mało wiemy o rzeczywistym funkcjonowaniu mózgu, a sztuczne sieci są z pewnością znacznie uproszczonym modelem systemu neuronów. 3

Wprowadzenie Neuron Synapse Soma Dendrite Axon 4

Wprowadzenie Liczba neuronów: ~ 8,6*10 10 Liczba połączeń poj. neuronu: ~ 10 4-10 5 Czas reakcji: ~ 0,001 sekundy Liczba operacji neuronu: 10-100/s Szybkość pracy mózgu ~ 10 15-10 17 op/s W rezultacie: czas rozpoznania obrazu: ~ 0,1 sekundy 5

Wprowadzenie - trochę historii w 1943 McCulloch i Pitts opracowali matematyczny model sztucznego neuronu. w 1957 Rosenblatt zbudował pierwszy (hardwarowy) model neuronu przeznaczony do rozpoznawania znaków alfanumerycznych. w 1969 Minsky i Papert udowodnili, że perceptron ma bardzo ograniczone zastosowanie. Lata 80. to model sieci wielowarstwowej i efektywny algorytm uczenia sieci. Lata 90. - eksplozja. Ponad 80% firm z listy Fortune 500 ma programy R&D z dziedziny SSN: tysiące publikacji, komercyjne pakiety aplikacyjne. 6

Podstawy działania Cechy charakterystyczne: zbiór elementów przetwarzających, stan aktywacji a i (wejście) dla każdego elementu, połączenia między elementami; ogólnie rzecz biorąc każde połączenie jest zdefiniowane przez wagi w ij, które określają efekt sygnału (wpływ) elementu j na element i, reguła propagacji, która określa wejście i i elementu na podstawie sygnałów wejściowych, funkcja aktywacji F i określająca nowy poziom wyjścia elementu na podstawie wejścia i i (t), zewnętrzne wejście z i dla każdego elementu i. Poniższe rysunki ilustrują te zasady. 7

Podstawy działania NEURON Dendryt Ciało Akson Synapsa Wygląd Schemat Dendryty otrzymują informacje Ciało przetwarza je Akson dostarcza przetworzone informacje do innych neuronów Synapsa połączenie między synapsami i dendrytami różnych neuronów Źródło: Angshuman Saha http://www.geocities.com/adotsaha/nninexcel.html 8

Podstawy działania Dendryty Ciało Akson Synapsy X 1 w 1 Kierunek przepływu informacji X 2 X p... w 2 w p w 0 X 0 (Z) I f I = w 0 X 0 + w 1 X 1 + w 2 X 2 + w 3 X 3 + + w p X p O = f(i) 9

Podstawy działania Element przetwarzający - perceptron wyjście y Funkcja aktywacji w 0 y = f(net) net n i 0 wixi Zadaniem elementu jest przetworzyć otrzymany sygnał (od sąsiadów lub z zewnątrz) na sygnał wyjściowy i rozesłać go do innych elementów. x 0 =1 (bias) w 1 w 2 w n x 1... x 2 x n wejścia x i 10

Kierunek przepływu informacji Podstawy działania Zbiór neuronów tworzy tzw. warstwę X 1 X 2 X 3 X 4 Warstwa wejściowa każdy neuron otrzymuje tylko jedno wejście, bezpośrednio z zewnątrz Warstwa ukryta łączy warstwę wejściową z wyjściową y 1 y 2 Warstwa wyjściowa wyjście każdego neuronu skierowane bezpośrednio na zewnątrz 11

Podstawy działania Liczba ukrytych warstw może być różna bez jedna wiele 12

Podstawy działania X 1 X 2 X 3 X 4 Uwaga wewnątrz warstwy neurony nie są ze sobą połączone neurony z danej warstwy są połączone tylko z neuronami warstwy następnej (feedforward) omijanie warstwy nie jest dozwolone 13

Podstawy działania Połączenia elementów Przyjmuje się, że każdy element daje addytywny wkład do elementu, z którym jest połączony: i i ( t) wij ( t) x j ( t) zi ( t) j Jeśli waga w ij jest dodatnia mówimy o pobudzeniu elementu i ze strony elementu j, jeśli ujemna - mówimy o powstrzymywaniu. 14

Podstawy działania Aktywacja i obliczanie wyjścia Funkcja F daje nową wartość aktywacji elementu i, na podstawie wejścia i i (t) o i ( t 1) F ( i ( t)) i i W zależności od charakterystyki funkcji aktywacji na wyjściu elementu i otrzymujemy różne wartości. 15

Podstawy działania Aktywacja i obliczanie wyjścia Wybór funkcji aktywacji zależy od rodzaju problemu, jaki stawiamy do rozwiązania przed siecią. Dla sieci wielowarstwowych najczęściej stosowane są funkcje nieliniowe, gdyż neurony o takich charakterystykach wykazują największe zdolności do nauki oraz dają możliwość odwzorowania dowolnej zależności pomiędzy wejściem a wyjściem sieci. Umożliwia to otrzymanie na wyjściu sieci informacji ciągłej, a nie tylko postaci: TAK - NIE. Wymagane cechy funkcji aktywacji to: funkcja ciągła w zadanym przedziale, łatwa do obliczenia i ciągła pochodna, możliwość wprowadzenia do argumentu parametru do ustalania kształtu krzywej. 16

Podstawy działania Aktywacja i obliczanie wyjścia 1 1 1 0.5-1 0 0 Tanh f(x) = (e x e -x ) / (e x + e -x ) Logistyczna f(x) = 1 / (1 + e -x ) Skok jedn. 0 if x<= 0 f(x) = 1 if x > 0 17

Podstawy działania Funkcja logistyczna 18

Sieć perceptronowa Perceptron zaproponowany przez Rosenblatta w 1959 roku jest siecią jednokierunkową złożoną z elementów binarnych realizowaną wg następujących zasad: elementem składowym jest sztuczny neuron opisany funkcją aktywacji skok jednostkowy. sieć można podzielić na uporządkowane i rozłączne podzbiory elementów, zwane warstwami: wejściową i wyjściową. perceptron nie zawiera połączeń między elementami tej samej warstwy. połączenia między warstwami skierowane są zgodnie z ich uporządkowaniem. 19

Sieć perceptronowa o u t p u t o Perceptron odwracanie 1 if net > 0 o { 0 otherwise input x1 output 0 1 w 0 = 0.5 net n i 0 wixi 1 0 1 w 1 = -1 x 1 i n p u t x 20

Perceptron OR Sieć perceptronowa o u t p u t o input x1 input x2 output 0 0 0 0 1 1 1 0 1 1 1 1 w 0 = -0.5 1 1 if net > 0 o { 0 otherwise net w 1 =1 n i 0 wixi w 2 =1 x 1 x 2 21

Perceptron AND Sieć perceptronowa o u t p u t o input x1 input x2 output 0 0 0 0 1 0 1 0 0 1 1 1 1 w 0 = -1.5 w 1 =1 1 if net > 0 o { 0 otherwise net n i 0 wixi w 2 =1 x 1 x 2 22

Perceptron XOR Sieć perceptronowa o u t p u t o input x1 input x2 output 1 if net > 0 o { 0 otherwise 0 0 0 0 1 1 1 0 1 w 0 =? net n i 0 wixi 1 1 0 1 w 1 =? w 2 =? x 1 x 2 23

Metody uczenia Uczenie polega na takim wyznaczeniu wartości wag, by sieć rozwiązywała wyuczone zadanie w sposób automatyczny. Wyróżniamy dwie kategorie: uczenie nadzorowane (supervised), gdzie dostarcza się wzorce wejściowe i odpowiadające im wyjścia. uczenie nienadzorowane, gdzie sieć samodzielnie próbuje odkryć statystycznie istotne cechy wzorca; w tej metodzie nie ma danego a priori zbioru kategorii, według których mają być klasyfikowane wzorce. 24

Metody uczenia Wszystkie metody uczenia są wariantami reguły uczenia Hebba opisanej w Organization of Behaviour (1949). Podstawową ideą jest tu założenie, że jeśli dwa elementy działają zgodnie, ich połączenie musi być wzmocnione. Jeżeli element i otrzymuje wejście od j, to najprostsza wersja reguły Hebba opisuje zmianę wag w ij o: w ij a o i o j gdzie a jest dodatnią stałą nazywaną stałą uczenia. 25

Metody uczenia Inna powszechnie stosowana reguła używa nie aktualnej aktywacji elementu i, lecz różnicy między aktualną a wagi zmieniane są tym silniej, im większy jest błąd pożądaną aktywacją elementu: gdzie d i jest pożądaną aktywacją, której wartość jest podawana przez nauczyciela. Reguła ta jest nazywana regułą Widrowa-Hoffa (1960) lub regułą delty. w a ( d -o ) ij wagi zmieniane są proporcjonalnie do wielkości sygnałów wejściowych i i o j 26

Metody uczenia Graficzna ilustracja procesu uczenia nadzorowanego 27

Metody uczenia Uczenie sieci, to proces minimalizacji błędu kwadratowego: 1 E[ w] ( t d -o d 2 d D 2 ) D = dane treningowe Uczenie jest zbieżne, jeśli: nie ma nieliniowych zależności między danymi, stała uczenia a ma małą wartość, nie ma warstw ukrytych. 28

Budowa modelu Co to znaczy zbudować model? Input: X 1 X 2 X 3 Output: Y Model: Y = f(x 1, X 2, X 3 ) W przypadku SSN : matematyczny zapis f(...) jest zbyt skomplikowany. Jednakże wystarczająco charakteryzują go: liczba neuronów wejściowych, liczba warstw ukrytych, liczba neuronów w warstwach ukrytych, liczba neuronów wyjściowych, wagi wszystkich połączeń. Budowa modelu SSN = określenie wartości powyższych parametrów Ten i sześć następnych slajdów - autor: Angshuman Saha http://www.geocities.com/adotsaha/nninexcel.html 29

Budowa modelu Input: X 1 X 2 X 3 Output: Y Model: Y = f(x 1, X 2, X 3 ) X 1 X 2 X 3 Parametry Przykład L. neuronów wejściowych 3 0.5 0.6-0.1 0.1-0.2 0.7 L. warstw ukrytych 1 Neurony w warstwie ukr. 2 L. neuronów wyjściowych 1 0.1-0.2 Wagi rysunek Y Zależą od struktury problemu Liczba neur. wej.= liczba X Liczba neur. wyj. = liczba Y Wolne parametry 30

Budowa modelu Input: X 1 X 2 X 3 Output: Y Model: Y = f(x 1, X 2, X 3 ) X 1 =1 X 2 =-1 X 3 =2 0,2 = 0,5 * 1-0,1*(-1) - 0,2 * 2 0,5 0,6-0,1 0,1-0,2 0,7 f(x) = 1 / (1 + e -x ) f(0,2) = 1 / (1 + e -0,2 ) = 0,55 0,2 f (0,2) = 0,55 0,55 0,9 f (0,9) = 0,71 0,71 Wyliczone Y = 0,478 0,1-0,2-0,087 f (-0,087) = 0,478 0,478 Jeśli wzorcowe Y = 2, to błąd oszacowania = (2-0,478) =1,522 31

Budowa modelu Input: X 1 X 2 X 3 Output: Y Model: Y = f(x 1, X 2, X 3 ) L. neuronów wej. = liczba X i = 3 L. neuronów wyj. = liczba Y = 1 Liczba warstw ukrytych =??? próbuj 1 Liczba neuronów w warstwie =??? próbuj 2 Nie ma reguły. Metoda prób i błędów. Mamy architekturę A co z wagami??? Przy tej architekturze mamy do określenia 8 wartości wag: W = (w 1, w 2,, w 8 ) Dane treningowe: (Y i, X 1i, X 2i, X 3i ) i = 1, 2,,n Dla określonych wag W, otrzymamy oszacowane n wartości Y ( V 1, V 2,,V n ) Oczywiście są one funkcją W, czyli ogólna reguła brzmi: Dobierz tak W, by błąd oszacowania E był zminimalizowany E = (Y i V i ) 2 i 32

Uczenie sieci Przykład prostej sieci z 2 neuronami wejściowymi i 1 - wyjściowym. E( w 1, w 2 ) = [ Y i V i (w 1, w 2 ) ] 2 w 1 w 2 Para ( w 1, w 2 ) jest punktem w 2-wymiarowej płaszczyźnie. Dla każdej takiej pary mamy wartość E. Funkcja E=f(w 1, w 2 ) wyznacza - przestrzeń błędów Cel: znaleźć taką parę wag, dla której E jest minimalny. Algorytm hill climbing 1. Zacznij od losowej pary ( w 1, w 2 ) 2. Przesuń się do pary ( w 1, w 2 ), dla której błąd jest mniejszy. 3. Kontynuuj krok 2 aż dojdziesz do pary ( w* 1, w* 2 ), gdzie E jest minimalny. 33

Feed forward Back Propagation Uczenie sieci Algorytm wstecznej propagacji błędu Backpropagation Algorithm uogólnienie reguły delty dla złożonych sieci 1. Zacznij z wylosowanymi wartościami wag. 2. Zaprezentuj sieci pierwszą obserwację (X 1, X 2, X 3 ) -> sieć -> V 1 ; E = (Y 1 V 1 ) 2 3. Zmodyfikuj wagi tak, by zminimalizować błąd (sieć dopasowuje się do 1. obserwacji) 4. Zaprezentuj sieci kolejną obserwację. Zmodyfikuj wagi tak, by zminimalizować błąd. 5. Powtarzaj krok 3. aż do ostatniej obserwacji. E = (Y i V i ) 2 6. To kończy jeden cykl treningowy. 7. Wykonaj wiele takich cykli (epok), aż E osiągnie małą (minimalną?) wartość. 34

Parametry uczenia: stała uczenia bezwładność (momentum) w j ji Uczenie sieci ( t) a ( t) o ( t) w ( t -1) E - o j o j net j j Im wyższy współczynnik uczenia tym sieć uczy się szybciej, ale może wpaść w oscylacje i E - o j f ( net j ) ji Momentum - pozwala usunąć szybkie oscylacje Sposób prezentacji danych: losowa prezentacja element stochastyczny, uczenie on-line. ustalona kolejność. Sposób modyfikacji wag (wsadowy vs. przyrostowy). 35

Metody uczenia Sposób modyfikacji wag Uczenie przyrostowe, w tej odmianie minimalizuje się funkcję błędów dla każdej pary wektorów zmiennych wejściowych i wzorców osobno; modyfikacja wag następuje każdorazowo po takiej operacji. Uczenie wsadowe, w tej odmianie minimalizuje się błąd średniokwadratowy wyznaczony dla wszystkich próbek ze zbioru uczącego, również korekta wag następuje po zaprezentowaniu całego zbioru uczącego. 36

Uczenie sieci przykład* Uczenie metodą propagacji wstecznej jednowarstwowej sieci klasyfikującej dwanaście znaków, reprezentujących odrębne klasy (zajmują wierzchołki 35-wymiarowej kostki i są liniowo separowalne, a tym samym nauczona sieć jednowarstwowa powinna je poprawnie klasyfikować). Wyniki klasyfikacji odczytywano przyporządkowując sygnałom na wyjściach neuronów liczbę 1, gdy przekraczają wartość 0,5, a liczbę 0 w przeciwnym razie. Badana sieć zawierała 12 neuronów o logistycznych funkcjach aktywacji z parametrami b = 1. *Za: W. Jędruch, Sztuczna inteligencja, Politechnika Gdańska, 2010. 37

Uczenie sieci przykład Przeprowadzono 200 cykli uczenia sieci dla kilku wartości współczynnika η, po których uzyskano następujące błędy łączne: η = 4, E = 1,0040 η = 2, E = 0,0138 η = 1, E = 0,0294 η = 0,5, E = 0,0651 η = 0,25, E = 0,1469 Z rysunku widać wpływ współczynnika η na szybkość uczenia. Zbyt duża wartość (η=4 ) powoduje duże oscylacje i przeregulowania i w efekcie duży błąd końcowy. Pośrednie wartości (η=2 lub 1) powodują, pomimo niewielkich oscylacji, szybkie osiąganie małych wartości błędu. Wreszcie zbyt małe wartości (η=0,5 lub 0,25 ) powodują systematyczne i bez oscylacji, ale powolne malenie błędu. 38

Uczenie sieci przykład Dla ilustracji reakcji sieci poniżej przedstawiono sygnały wyjściowe neuronów nauczonej sieci (dla η = 2) odpowiadającej na przykładowy obraz wejściowy (znak A), gdzie w nawiasach przy liczbach podano znaki reprezentowane przez poszczególne neurony: 39

Zalety SSN 1. Rozwiązuje problemy, które klasyczne algorytmy nie są w stanie rozwiązać, mówimy tutaj przede wszystkim o zadaniach, w których skład wchodzi kojarzenie czy przewidywanie. 2. Nie potrzebują specjalnego algorytmu, całym zadaniem jest zaprojektowanie odpowiedniej struktury sieci odpowiadającej problemowi oraz pokierowanie procesem uczenia się sieci. Niepotrzebne są charakterystyki modelu, założenia, ograniczenia. Wystarczy podać cel i dużo przykładów praktycznego osiągnięcia tego celu. Wprawdzie sieć nie poda reguł kierujących określonym zjawiskiem, ale poda rozwiązanie problemu. 40

Zalety SSN 3. Działają jako całość, każdy element ma pewien wkład w realizację zadania, dlatego też mogą działać pomimo błędów (np. struktury czy też błędów w danych). Klasyczny algorytm w sytuacji błędu np. w strukturze algorytmu lub w zestawie danych najczęściej wywraca się, uniemożliwiając działanie programu. Natomiast SSN dopiero w przypadku ilości błędów powyżej pewnego granicznego poziomu nie jest w stanie poprawnie działać. 4. Umiejętność uogólniania 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. Korbicz J., Obuchowicz A., Uciński D. - ". Podstawy i zastosowania", Akademicka Oficyna Wydawnicza PLJ, Warszawa 1994 41

Wady SSN 1. Operują pojęciami rozmytymi, nie określają dokładnie, lecz w przybliżeniu, podobnie zresztą jak ludzki mózg. Dlatego nie mogą być stosowane tam, gdzie potrzebna jest precyzyjna wartość. 2. Nie radzą sobie z rozumowaniem wieloetapowym, gdy z jednych wniosków trzeba wysnuć inne, a z tych - kolejne itd. Wynika to z faktu, że sieć neuronowa działa jednoetapowo, tylko w jednym kroku. 3. Proces uczenia się sieci może trwać bardzo długo; wszystko zależy od stopnia skomplikowania sieci oraz złożoności problemu do rozwiązania. 4. Trudno wysuwać wnioski co do istoty zależności między danymi wyjściowymi a wejściowymi: sztuczna sieć neuronowa działa jak czarna skrzynka, do której wrzucamy dane i otrzymujemy wyniki, natomiast logiki systemu i schematów myślenia nie jesteśmy w stanie odkryć. 5. Łatwo przeuczyć sieć, tzn. sieć nauczy się na pamięć podawanych przykładów w fazie uczenia i w momencie testowania na innych przykładach jest bezużyteczna, nie potrafi właściwie rozwiązać zadania (nie ma zdolności do generalizacji). 42

Wady SSN Uczenie sieci - przetrenowanie 43

Cykl życia SSN 1. Określenie zmiennej wyjściowej oraz zmiennych wejściowych. 2. Gromadzenie danych. 3. Wstępne przetwarzanie danych (preprocessing). 4. Podział zbioru danych. 5. Dobór odpowiedniej architektury sieci. 6. Uczenie sieci. 7. Testowanie i weryfikacja. 8. Zastosowanie sieci. 44

Topologia SSN Ze względu na rodzaj powiązań między elementami sieci wyróżniamy: sieci jednokierunkowe (feed-forward), w których dane przepływają w jednym kierunku od elementów wejściowych do wyjściowych. sieci rekurencyjne zawierające połączenia ze sprzężeniami zwrotnymi. 45

Zastosowania SSN Większość zastosowań SSN w zarządzaniu i ekonomii polega na wykorzystaniu sieci jednokierunkowych, wielowarstwowych do klasyfikacji, rozpoznawania wzorców i predykcji oraz sieci Hopfielda i Kohonena do celów optymalizacyjnych. Marketing SSN jest elementem systemu ekspertowego do śledzenia i rezerwowania miejsc w samolotach. SSN może służyć do klasyfikowania klientów np. pod względem ryzyka handlowego. Prognozowanie sprzedaży. 46

Zastosowania SSN Harmonogramowanie i planowanie Optymalizacja struktury systemu przesyłania energii. Optymalizacja rozkroju materiału. Optymalizacja struktury sieci satelitów komunikacyjnych. Sterowanie ruchem samolotów. Kontrola jakości Sieć może szacować wpływ różnych zmiennych i ich kombinacji na jakość produktu (ćwiczenie). Montaż głowic dysków jest diagnozowany przez sieć firmy Nestor. Zwiększenie lub zmniejszenie wypukłości wycinanych części jest wykrywane, a moment, w którym tolerancja przestaje być dotrzymywana, jest sygnalizowany. 47

Zastosowania SSN Diagnostyka koncern Ford Motor Company wdrożył system diagnostyczny silników. Bezpieczeństwo Firma SIAC oferuje system monitorowania bagaży na lotniskach (stosowany jest np. na lotnisku JFK w Nowym Jorku). Firma Nestor sprzedaje system do rozpoznawania podpisów mający duże zastosowanie w bankach; sieć działa w czasie rzeczywistym z efektywnością 92-98%. 48

Zastosowania SSN Prognozowanie Prognoza rozwoju rynku energetycznego [Werbos]. Prognoza zapotrzebowania na energię elektryczną. Rynek akcji Prognoza akcji IBM (nieudana, White 1988). Kursy wymiany walut. 49