Sieci neuronowe 14/04/2011 1 / 65 Sieci Neuronowe Wprowadzenie do teorii i praktyki Nguyen Hung Son, Uniwersytet Warszawski Część I Podstawy modelu sieci neuronowych Część II Uczenie sieci neuronych Część III Projektowanie sieci neuronowych Część IV Różne paradygmaty sieci neuronowych Część V Zastosowania sieci neuronowych
Outline Sieci neuronowe 14/04/2011 2 / 65 1 Podstawy sieci neuronowych 2 Problem klasyfikacji i sieci wielowarstwowe 3 Projektowanie sieci neuronowych 4 Zastosowania 5 Inne paradymaty sieci neuronowych Sieci rekurencyjne Modele samoorganizacji 6 Dodatki Historia Możliwości sieci wielowarstwowych
Inspiracje biologiczno-neurologiczne Sieci neuronowe 14/04/2011 3 / 65 Wiedza o mechanizmach myślenia zaczerpnięta z fizjologii, neurologii i badań nad procesem poznawania (cognitive science). Inteligencja ludzka? Czym charakteryzuje się inteligencja? Zdolność dostosowywania się do zmian środowiska lub do nowych środowisk; Pojemność wiedzy, rozumu, abstrakcje; Zdolność do oryginalnego, samodzielnego myślenia. Które gatunki to posiada? Jakie sa biologiczne uwarunkowania na inteligencję? Jaki jest rozwój inteligencji u człowieka,...
Mózg ludzki Sieci neuronowe 14/04/2011 4 / 65 Masa mózgu ludzkiego stanowi 2% masy ciała: u mężczyzny ok. 1375 g; u kobiety ok. 1225 g; u niemowlęcia ok. 350 g. Objetość ok. 1400 cm 3, powierzchnia ok. 2000 cm 2 czyli niemal trzykrotnie więcej niż kula o tej samej objętości. Kora - grubość 2-4 mm: ok. 10 10 komórek nerwowych; ok. 10 12 komórek glejowych; ok. 10 15 połaczeń (średnio 7000 na neuron).
Mózg super-komputerem? Sieci neuronowe 14/04/2011 5 / 65 Pojemność rzędu 50 1012 = 50 Tbitów (każda synapsa = 1 bit). Oszacowanie przepływu informacji (świadomego): Wzrok ok. 5000 bitów/sek; Pozostałe zmysły 100 bitów/sek, Napięcie: 20V! W ciagu 60 lat życia człowiek zużywa około 10 Terabitów. Moc obliczeniowa: 5x1013 połaczeń, zmiana rzędu 100 Hz, 5x1015 operacji/sek = 5 Petaflopów Mózg na VLSI: 10x10x32 metry, 10 TB RAM, 1-10 Pflopów IBM Blue Gene w 2005 roku - porównywalna moc obliczeniowa
Współczynnik inteligencji Sieci neuronowe 14/04/2011 6 / 65 =)
Jak działa mózg? Sieci neuronowe 14/04/2011 7 / 65 1 Potencjały odebrane z innych komórek za pomoca dendrytów sa zbierane na błonie ciała komórki. 2 Gdy zebrane potencjały przekrocza wartość progowa neuron staje sie aktywny i wysyła sygnały elektryczne (elektrochemiczne) przez akson. 3 Inne neurony odbieraja sygnał zależnie od przepustowości synaps.
Badanie nad sztucznymi sieciami neuronami (ANN): Sieci neuronowe 14/04/2011 8 / 65 W układach nerwowych żywych organizmów stosunkowo proste elementy neurony współdziałajac sa w stanie realizować wysokopoziomowe, złożone funkcje.
Badanie nad sztucznymi sieciami neuronami (ANN): Sieci neuronowe 14/04/2011 8 / 65 W układach nerwowych żywych organizmów stosunkowo proste elementy neurony współdziałajac sa w stanie realizować wysokopoziomowe, złożone funkcje. U podstaw ANN leży idea wykorzystania prostych elementów obliczeniowych sztucznych neuronów do tworzenia układów zdolnych rozwiazywać skomplikowane zadania.
Badanie nad sztucznymi sieciami neuronami (ANN): Sieci neuronowe 14/04/2011 8 / 65 W układach nerwowych żywych organizmów stosunkowo proste elementy neurony współdziałajac sa w stanie realizować wysokopoziomowe, złożone funkcje. U podstaw ANN leży idea wykorzystania prostych elementów obliczeniowych sztucznych neuronów do tworzenia układów zdolnych rozwiazywać skomplikowane zadania. Siła rozwiazania leży nie w samych elementach obliczeniowych, a w sposobie ich łaczenia.
Badanie nad sztucznymi sieciami neuronami (ANN): Sieci neuronowe 14/04/2011 8 / 65 W układach nerwowych żywych organizmów stosunkowo proste elementy neurony współdziałajac sa w stanie realizować wysokopoziomowe, złożone funkcje. U podstaw ANN leży idea wykorzystania prostych elementów obliczeniowych sztucznych neuronów do tworzenia układów zdolnych rozwiazywać skomplikowane zadania. Siła rozwiazania leży nie w samych elementach obliczeniowych, a w sposobie ich łaczenia. Celem jest otrzymanie systemu, który przejawia cechy podobne do układu nerwowego.
Badanie nad sztucznymi sieciami neuronami (ANN): Sieci neuronowe 14/04/2011 8 / 65 W układach nerwowych żywych organizmów stosunkowo proste elementy neurony współdziałajac sa w stanie realizować wysokopoziomowe, złożone funkcje. U podstaw ANN leży idea wykorzystania prostych elementów obliczeniowych sztucznych neuronów do tworzenia układów zdolnych rozwiazywać skomplikowane zadania. Siła rozwiazania leży nie w samych elementach obliczeniowych, a w sposobie ich łaczenia. Celem jest otrzymanie systemu, który przejawia cechy podobne do układu nerwowego. Poznamy: Model sztucznego neuronu; Różne typy sieci neuronowych, które rozwiazuj a różne problemy, np. predykcja, rozpoznawanie, klasyfikacja, skojarzenie, grupowanie, optymalizacja...
Perceptron model sztucznego neuronu Sieci neuronowe 14/04/2011 9 / 65 x 0 = 1 w 1 x 1 w 2 w 0 x 2...... np w i x i i=0 net o = sign(net) x n w n
Perceptron model sztucznego neuronu Sieci neuronowe 14/04/2011 9 / 65 x 0 = 1 w 1 x 1 w 2 w 0 x 2...... np w i x i i=0 net o = sign(net) x n w n Przy ustalonych wartościach parametrów w 0,...,w n : o(x 0, x 1,...,x n )=sign! nx w i x i = sign(~w ~x) i=0
Perceptron model sztucznego neuronu Sieci neuronowe 14/04/2011 9 / 65 x 0 = 1 w 1 x 1 w 2 w 0 x 2...... np w i x i i=0 net o = sign(net) x n w n Przy ustalonych wartościach parametrów w 0,...,w n : o(x 0, x 1,...,x n )=sign! nx w i x i = sign(~w ~x) i=0 Biologiczna sieć Soma Dendrydy Sztuczna sieć Sumator Wejścia
Perceptron model sztucznego neuronu Sieci neuronowe 14/04/2011 9 / 65 x 0 = 1 w 1 x 1 w 2 w 0 x 2...... np w i x i i=0 net o = sign(net) x n w n Przy ustalonych wartościach parametrów w 0,...,w n : o(x 0, x 1,...,x n )=sign! nx w i x i = sign(~w ~x) i=0 Biologiczna sieć Soma Dendrydy Axon Sztuczna sieć Sumator Wejścia Wyjście
Perceptron model sztucznego neuronu Sieci neuronowe 14/04/2011 9 / 65 x 0 = 1 w 1 x 1 w 2 w 0 x 2...... np w i x i i=0 net o = sign(net) x n w n Przy ustalonych wartościach parametrów w 0,...,w n : o(x 0, x 1,...,x n )=sign! nx w i x i = sign(~w ~x) i=0 Biologiczna sieć Soma Dendrydy Axon Synapsa Sztuczna sieć Sumator Wejścia Wyjście Waga
Perceptron model sztucznego neuronu Sieci neuronowe 14/04/2011 9 / 65 x 0 = 1 w 1 x 1 w 2 w 0 x 2...... np w i x i i=0 net o = sign(net) x n w n Przy ustalonych wartościach parametrów w 0,...,w n : o(x 0, x 1,...,x n )=sign! nx w i x i = sign(~w ~x) i=0 Biologiczna sieć Soma Dendrydy Axon Synapsa Mała prędkość Sztuczna sieć Sumator Wejścia Wyjście Waga Duża prędkość
Perceptron model sztucznego neuronu Sieci neuronowe 14/04/2011 9 / 65 x 0 = 1 w 1 x 1 w 2 w 0 x 2...... np w i x i i=0 net o = sign(net) x n w n Przy ustalonych wartościach parametrów w 0,...,w n : o(x 0, x 1,...,x n )=sign! nx w i x i = sign(~w ~x) i=0 Biologiczna sieć Sztuczna sieć Soma Sumator Dendrydy Wejścia Axon Wyjście Synapsa Waga Mała prędkość Duża prędkość Dużo neuronów (10 9 ) Mało (od kilku do kilkudziesięciu tysięcy )
Outline Sieci neuronowe 14/04/2011 10 / 65 1 Podstawy sieci neuronowych 2 Problem klasyfikacji i sieci wielowarstwowe 3 Projektowanie sieci neuronowych 4 Zastosowania 5 Inne paradymaty sieci neuronowych Sieci rekurencyjne Modele samoorganizacji 6 Dodatki Historia Możliwości sieci wielowarstwowych
Problem klasyfikacji Sieci neuronowe 14/04/2011 11 / 65 Klasyfikacja i rozpoznawanie: Zadanie polega na przewidywaniu identyfikatora klasy, do której dany obiekt należy na podstawie wcześniej zaobserwowanych (nauczonych) przykładów.. Predykacja: Sieci neuronowe sa często wykorzystywane, aby na podstawie pewnych danych wejściowych przewidywała dane wyjściowe. Wazna zaleta jest to, ze sieć może nauczyć się przewidywania sygnałów wyjściowych bez jawnego zdefiniowania zwiazku między danymi wejściowymi a wyjściowymi. Tego typu układy sa też często przydatne w zadaniach zwiazanych ze sterowaniem. Kojarzenie danych: Sieci neuronowe, dzięki zdolności uczenia się i uogólniania doświadczeń, pozwalaja zautomatyzować procesy wnioskowania i pomagaja wykrywać istotne powiazania pomiędzy danymi.
Uczenie klasyfikacji przez perceptron: Sieci neuronowe 14/04/2011 12 / 65 Problem: Dany jezt zbiór treningowy D = {d 1,...d m }, gdzie d i =((x d i 1,...,xd i n ), t di ). Znaleźć w 0,...,w n, dla których funkcja błędu E(w 0, w 1,...,w n ) 1 X (t 2 d o d ) 2 d2d osiagnęła minimum, gdzie o d = o(1, x d 1,...,xd n). D x 1 x 2 x 3 t o o d 1 0 0 0 0 0.72 0.23 d 2 1 1 0 1 0.89 0.67 d 3 0 0 1 1 0.13 0.99 d 4 0 1 1 1 0.55 0.82... d 7 1 1 1? 0.95 d 8 0 1 0? 0.35
Reguła Hebba Sieci neuronowe 14/04/2011 13 / 65 A w AB B (Hebb, 1949) Jeżeli komórka A bierze systematycznie udział w pobudzaniu komórki B powodujacym jej aktywację, to wywołuje to zmianę metaboliczna w jednej lub w obu komórkach, prowadzac a do wzrostu (lub osłabienia) skuteczności pobudzania B przez A. w t+1 AB = wt AB + AB AB = "V A V B
Metoda gradientowa Sieci neuronowe 14/04/2011 14 / 65 E(w 0, w 1,...,w n ) 1 X (t 2 d o d ) 2 d2d
Metoda gradientowa Sieci neuronowe 14/04/2011 14 / 65 Algorytm gradientu 1 Inicjalizujemy wagi neuronu (sieci) np. losowo. 2 Powtarzamy ~w = ~ 0; Podajemy kolejny przykład (x i, d i ) do sieci i obliczamy wartość o(x i ); Poprawiamy wagi według reguły: ~w nowy ~w stary + ~w gdzie ~w = re[~w]
Metoda gradientowa Sieci neuronowe 14/04/2011 14 / 65 Algorytm gradientu 1 Inicjalizujemy wagi neuronu (sieci) np. losowo. 2 Powtarzamy ~w = ~ 0; Podajemy kolejny przykład (x i, d i ) do sieci i obliczamy wartość o(x i ); Poprawiamy wagi według reguły: ~w nowy ~w stary + ~w gdzie ~w = re[~w] re[~w] apple @E @w 0, @E @w 1, @E @w n
Sieci neuronowe 14/04/2011 15 / 65 @E @w i = @ 1 @w i 2 X (t d o d ) 2 = X d d (t d o d ) @ @w i (t d o d )= X d (t d o d ) @o d @w i
Sieci neuronowe 14/04/2011 15 / 65 @E @w i = @ 1 @w i 2 X (t d o d ) 2 = X d d (t d o d ) @ @w i (t d o d )= X d (t d o d ) @o d @w i Dla perceptronu liniowego: x 0 = 1 w 0 w 1 x 1 w 2 x 2...... np w i x i i=0 net o = w 0 + w 1 x 1 + + w n x n x n w n @E @w i = X d (t d o d ) @ @w i ~w ~x d = X d (t d o d )x i,d
Sieci neuronowe 14/04/2011 15 / 65 @E @w i = @ 1 @w i 2 X (t d o d ) 2 = X d d (t d o d ) @ @w i (t d o d )= X d (t d o d ) @o d @w i Dla perceptronu liniowego: x 0 = 1 w 0 w 1 x 1 w 2 x 2...... np w i x i i=0 net o = w 0 + w 1 x 1 + + w n x n x n w n @E @w i = X d (t d o d ) @ @w i ~w ~x d = X d (t d o d )x i,d Reguły uczenia perceptronu liniowego (por. reguły Hebba) ~w nowy ~w stary + X d (t d o d )~x d
Nieliniowe perceptrony Sieci neuronowe 14/04/2011 16 / 65 Aby naprawić niedoskonałości perceptronu, wprowadzono nieliniowe, ciagłe i rózniczkowalne funkcje aktywacji dla neuronów. Standardowo, stosuje się: Logistyczna funkcje sigmoidalna (unipolarna): (x) = x 0 = 1 1 1 + e x =) w 1 x 1 w 2 w 0 d (x) dx = (x)(1 (x)) x 2...... np i=0 net w i x i o = (net) x n w n
Nieliniowe perceptrony Sieci neuronowe 14/04/2011 16 / 65 Aby naprawić niedoskonałości perceptronu, wprowadzono nieliniowe, ciagłe i rózniczkowalne funkcje aktywacji dla neuronów. Standardowo, stosuje się: Logistyczna funkcje sigmoidalna (unipolarna): (x) = x 0 = 1 1 1 + e x =) w 1 x 1 w 2 w 0 d (x) dx = (x)(1 (x)) x 2...... np i=0 net w i x i o = (net) x n w n Tangens hiperboliczny (bipolarny): (x) =tanh( x) = e x e x e x =) d (x) = (1 + e x dx 2 (x))
Sieci neuronowe 14/04/2011 17 / 65 @E @w i = X d (t d o d ) @ @w i o d = X d (t d o d ) @o d @net d @net d @w i Wiemy, że o d = (net), oraz net = w 0 + w 1 x 1 +... + w n x n, zatem @o d = @ (net d) = o @net d @net d (1 o d ) oraz d @net d = @(~w ~x d) = x @w i @w i,d i Więc @E @w i = X (t d o d )o d (1 o d )x i,d d2d Reguły uczenia perceptronu sigmoidalnego ~w nowy ~w stary + X d2d(t d o d )o d (1 o d )~x d
Ograniczenia perceptronu Sieci neuronowe 14/04/2011 18 / 65 Pojedyńczy perceptron potrafi niewiele! (por. praca Minsky ego i Paperta, 1969); Jeśli dane wejściowe sa w przestrzeni n-wymiarowej, to liniowa separowalność jest gwarantowana dla zbiorów zawierajacych niewięcej niż n + 1 obiektów! Jak uczyć się złożonych problemów klasyfikacji? (np. problemu wielu klas decyzyjnych lub wielu funkcji decyzyjnych)
Sieci jednokierunkowe wielowarstwowe Sieci neuronowe 14/04/2011 19 / 65 Według J. Werbos oraz E. Rumelhart i J.L. McCelland od warstwy wejściowej do warstwy wyjściowej; istnienie warstw pośrednich (tzw. warstw ukrytych neuronów); pełne połaczenia między warstwami nieliniowa funkcja aktywacji typu sigmoidalnego lub tangens hiperpoliczny. Warstwa wejściowa Warstwa ukryta Warstwa wyjściowa x 1 x 2 x 3 x 4 o 2 o 3 o 4
Przykład sieci dla XOR Sieci neuronowe 14/04/2011 20 / 65 Przykład sieci wielowarstwowej (z jedna warstwa ukryta) realizujacej XOR z wykorzystaniem bias i bez bias.
Przykład: ocena ryzyka bankructwa - Sieci neuronowe 14/04/2011 21 / 65 Metoda Altmana (1968): kapital obrotowy x 1 = aktywa ogółem zysk netto x 2 = aktywa ogółem zysk brutto x 3 = aktywa ogółem wartosc rynkowa kap. wlasnego x 4 = dług ogółem przychody operacyjne x 5 = aktywa ogółem Z = 1.2X 1 + 1.4X 2 + 3.3X 3 + 0.6X 4 + 0.999X 5..
Przykład: ocena ryzyka bankructwa - Sieci neuronowe 14/04/2011 21 / 65 Metoda Altmana (1968): kapital obrotowy x 1 = aktywa ogółem zysk netto x 2 = aktywa ogółem zysk brutto x 3 = aktywa ogółem wartosc rynkowa kap. wlasnego x 4 = dług ogółem przychody operacyjne x 5 = aktywa ogółem Z = 1.2X 1 + 1.4X 2 + 3.3X 3 + 0.6X 4 + 0.999X 5..
Przykład: ocena ryzyka bankructwa - Sieci neuronowe 14/04/2011 21 / 65 Metoda Altmana (1968): kapital obrotowy x 1 = aktywa ogółem zysk netto x 2 = aktywa ogółem zysk brutto x 3 = aktywa ogółem wartosc rynkowa kap. wlasnego x 4 = dług ogółem przychody operacyjne x 5 = aktywa ogółem Z = 1.2X 1 + 1.4X 2 + 3.3X 3 + 0.6X 4 + 0.999X 5..
Przykład: ocena ryzyka bankructwa - Sieci neuronowe 14/04/2011 21 / 65 Metoda Altmana (1968): kapital obrotowy x 1 = aktywa ogółem zysk netto x 2 = aktywa ogółem zysk brutto x 3 = aktywa ogółem wartosc rynkowa kap. wlasnego x 4 = dług ogółem przychody operacyjne x 5 = aktywa ogółem X1 X2 X3 X4 X5 o Bankrupt 1 o Nonbankrupt 1 Z = 1.2X 1 + 1.4X 2 + 3.3X 3 + 0.6X 4 + 0.999X 5..
Sieci neuronowe 14/04/2011 22 / 65 Projekt ALVINN - (Autonomous Land Vehicle In a Neural Network) Temat pracy doktorkiej Prof. Pomerleau (1992); (Carnegie Mellon University) Najpoważniejsze zastosowanie sieci neuronowych w pratyce; Metod uczenia z propagacja wsteczna; 32x30 = 960 wejść; 3994 wag;
Algorytm propagacji wstecznej błędu Sieci neuronowe 14/04/2011 23 / 65...... d...... wejście (x (d) 1..., x(d) wyjście N )! (t(d) 1..., t(d) K )
Algorytm propagacji wstecznej błędu Sieci neuronowe 14/04/2011 23 / 65...... d...... wejście (x (d) 1..., x(d) wyjście N )! (t(d) 1..., t(d) K ) x (d) 1...... x (d) N o (d) 1... o (d) K Bład globalny danego układu wag W ~ E( W) ~ KX E k gdzie E k 1 X 2 k=1 (t (d) k d2d o (d) k )2
Algorytm propagacji wstecznej błędu Sieci neuronowe 14/04/2011 23 / 65...... d...... wejście (x (d) 1..., x(d) wyjście N )! (t(d) 1..., t(d) K ) x (d) 1...... x (d) N o (d) 1... o (d) K Bład globalny danego układu wag W ~ E( W) ~ KX E k gdzie E k 1 X 2 k=1 (t (d) k d2d o (d) k )2 Minimalizacja błędu globalnego metoda gradientu: ~W nowy ~ W stary + ~ W
Algorytm propagacji wstecznej błędu Sieci neuronowe 14/04/2011 24 / 65 Dopóki nie spełniony jest warunek stopu Dla każdego wzorca uczacego d =((x (d) 1 wykonaj:..., x(d) N ), (t(d) 1..., t(d) K )) Podaj wektor uczacy (x 1,...,x n ) na wejście sieci i wyznacz wartości neuronów (o 1,...,o K ) warstwy wyjściowej. x 1...... x N o 1... o K
Algorytm propagacji wstecznej błędu Sieci neuronowe 14/04/2011 24 / 65 Dopóki nie spełniony jest warunek stopu Dla każdego wzorca uczacego d =((x (d) 1 wykonaj:..., x(d) N ), (t(d) 1..., t(d) K )) Podaj wektor uczacy (x 1,...,x n ) na wejście sieci i wyznacz wartości neuronów (o 1,...,o K ) warstwy wyjściowej. Dla każdego neuronu k warstwy wyjściowej: k o k (1 o k )(t k o k ) x 1...... x N o 1... o K
Algorytm propagacji wstecznej błędu Sieci neuronowe 14/04/2011 24 / 65 Dopóki nie spełniony jest warunek stopu Dla każdego wzorca uczacego d =((x (d) 1 wykonaj:..., x(d) N ), (t(d) 1..., t(d) K )) Podaj wektor uczacy (x 1,...,x n ) na wejście sieci i wyznacz wartości neuronów (o 1,...,o K ) warstwy wyjściowej. Dla każdego neuronu k warstwy wyjściowej: k o k (1 o k )(t k o k ) x 1... x i... i w ij j h w hk... k...
Algorytm propagacji wstecznej błędu Sieci neuronowe 14/04/2011 24 / 65 Dopóki nie spełniony jest warunek stopu Dla każdego wzorca uczacego d =((x (d) 1 wykonaj:..., x(d) N ), (t(d) 1..., t(d) K )) Podaj wektor uczacy (x 1,...,x n ) na wejście sieci i wyznacz wartości neuronów (o 1,...,o K ) warstwy wyjściowej. Dla każdego neuronu k warstwy wyjściowej: k o k (1 o k )(t k o k ) x 1... x i... i w ij j h w hk... k... Dla każdego neuronu ukrytego X h o h (1 o h ) w h,k k k2outputs
Algorytm propagacji wstecznej błędu Sieci neuronowe 14/04/2011 24 / 65 Dopóki nie spełniony jest warunek stopu Dla każdego wzorca uczacego d =((x (d) 1 wykonaj:..., x(d) N ), (t(d) 1..., t(d) K )) Podaj wektor uczacy (x 1,...,x n ) na wejście sieci i wyznacz wartości neuronów (o 1,...,o K ) warstwy wyjściowej. Dla każdego neuronu k warstwy wyjściowej: k o k (1 o k )(t k o k ) x 1... x i... i w ij j h w hk... k... Dla każdego neuronu ukrytego X h o h (1 o h ) w h,k k k2outputs Dla każdej wagi w i,j popraw w i,j w i,j + j x i
Outline Sieci neuronowe 14/04/2011 25 / 65 1 Podstawy sieci neuronowych 2 Problem klasyfikacji i sieci wielowarstwowe 3 Projektowanie sieci neuronowych 4 Zastosowania 5 Inne paradymaty sieci neuronowych Sieci rekurencyjne Modele samoorganizacji 6 Dodatki Historia Możliwości sieci wielowarstwowych
Problem przeuczenia i warunek stopu Sieci neuronowe 14/04/2011 26 / 65 Przeuczenie Nadmierne dopasowanie podczas uczenia z nauczycielem; Objawa: gdy bład na zbiorze testowym rośnie, podczas gdy bład na zbiorze uczacym maleje! Optymalny warunek stopu: tuż przed zajściem zjawiska przeuczenia
Architektura sieci Sieci neuronowe 14/04/2011 27 / 65 Liczba warstw ukrytych; Liczba neuronów w każdej warstwie; Funkcja aktywacji; Współczynnik uczenia się; Kodowanie danych wejściowych i wyjściowych Warunek stopu i problem przeuczenia się
Przygotowywanie danych Sieci neuronowe 14/04/2011 28 / 65 Dane w praktycznych zastosowaniach sa brudne Sa niepełne: brak wartości lub ważnych atrybutów Zawieraja szumy, błędy lub wyjatki; Sa sprzeczne.
Przygotowywanie danych Sieci neuronowe 14/04/2011 28 / 65 Dane w praktycznych zastosowaniach sa brudne Sa niepełne: brak wartości lub ważnych atrybutów Zawieraja szumy, błędy lub wyjatki; Sa sprzeczne. Nie ma wartościowych wyników analizy bez danych dobrej jakości!
Przygotowywanie danych Sieci neuronowe 14/04/2011 28 / 65 Dane w praktycznych zastosowaniach sa brudne Sa niepełne: brak wartości lub ważnych atrybutów Zawieraja szumy, błędy lub wyjatki; Sa sprzeczne. Nie ma wartościowych wyników analizy bez danych dobrej jakości! Metadane = informacja o danych: Informacje ilościowe: liczba wzorców (obiektów), liczba atrybutów (zmiennych), liczba klas decyzyjnych,... Rola atrybutu: wejściowy, wyjściowy, ID,... Opisy atrybutów; Typy danych: Binarny, symboliczny, numeryczny, porzadkowy,... Formaty: np. formaty dat i czasu, formaty liczb rzeczywistych,...
Konwersja danych Sieci neuronowe 14/04/2011 29 / 65 Z daty i czasu na wartości liczbowe: Formaty daty i czasu: Sep 24, 2003, 9/24/03, 24.09.03 Konwersja na liczby rzeczywiste:
Konwersja danych Sieci neuronowe 14/04/2011 29 / 65 Z daty i czasu na wartości liczbowe: Formaty daty i czasu: Sep 24, 2003, 9/24/03, 24.09.03 Konwersja na liczby rzeczywiste: YYYYMMDD: Np. 20110414 nie zachowuje odległość między datami, np. 20040201 20040131 6= 20040131 20040130
Konwersja danych Sieci neuronowe 14/04/2011 29 / 65 Z daty i czasu na wartości liczbowe: Formaty daty i czasu: Sep 24, 2003, 9/24/03, 24.09.03 Konwersja na liczby rzeczywiste: 32-bitowa liczba sekund od północy 1 stycznia 1970 GMT (Unix) liczba dni od 1 stycznia 1960 (SAS). wartości nie sa intuicyjne i trudne do interpretacji
Sieci neuronowe 14/04/2011 29 / 65 Konwersja danych Z daty i czasu na wartości liczbowe: Formaty daty i czasu: Sep 24, 2003, 9/24/03, 24.09.03 Konwersja na liczby rzeczywiste: Format KPS: YYYY + L.dni od 1 Sty. 0.5 365 + LF Np. data 24 Września 2003 jest konwertowana na 2003 + (267 0.5) 365 = 2003.7301
Konwersja danych Sieci neuronowe 14/04/2011 29 / 65 Z daty i czasu na wartości liczbowe: Z porzadkowych na wartości liczbowe:
Konwersja danych Sieci neuronowe 14/04/2011 29 / 65 Z daty i czasu na wartości liczbowe: Z porzadkowych na wartości liczbowe: Jak konwertować ocenę z systemu brytyjskiego na polski? GB!PL A!5.0 A!4.7 B+!4.3 B!4.0...!... Skala ocen powinna zachować porzadek i proporcje między oryginalnymi wartościami
Konwersja danych Sieci neuronowe 14/04/2011 29 / 65 Z daty i czasu na wartości liczbowe: Z porzadkowych na wartości liczbowe: Z symbolicznych na wartości liczbowe:
Kodowanie wektorów wyjściowych Sieci neuronowe 14/04/2011 30 / 65 Kod one of N
Kodowanie wektorów wyjściowych Sieci neuronowe 14/04/2011 30 / 65 Kod one of N Kod one of N + poprawki:
Kodowanie wektorów wyjściowych Sieci neuronowe 14/04/2011 30 / 65 Kod one of N Kod one of N + poprawki: Kod binarny:
Outline Sieci neuronowe 14/04/2011 31 / 65 1 Podstawy sieci neuronowych 2 Problem klasyfikacji i sieci wielowarstwowe 3 Projektowanie sieci neuronowych 4 Zastosowania 5 Inne paradymaty sieci neuronowych Sieci rekurencyjne Modele samoorganizacji 6 Dodatki Historia Możliwości sieci wielowarstwowych
Przykład: ocena ryzyka bankructwa (2) Sieci neuronowe 14/04/2011 32 / 65 Wilson and Sharda (1994): 20.070 firm Sieci neuronowe: 95,6% Regresja logistyczna: 92,2%
Rynki finansowe Sieci neuronowe 14/04/2011 33 / 65 Model (oparty na ANN) dla obrotu towarowego prowadzi do większego zysku niż inne strategie handlowe (Collard (1990))
Rynki finansowe Sieci neuronowe 14/04/2011 33 / 65 Model (oparty na ANN) dla obrotu towarowego prowadzi do większego zysku niż inne strategie handlowe (Collard (1990)) Analiza szerogów czasowych: Np. NETPROPHET (Neural Applications Corporation) - predykcja kursu akcji
Rynki finansowe Sieci neuronowe 14/04/2011 33 / 65 Model (oparty na ANN) dla obrotu towarowego prowadzi do większego zysku niż inne strategie handlowe (Collard (1990)) Analiza szerogów czasowych: Np. NETPROPHET (Neural Applications Corporation) - predykcja kursu akcji Wykrywanie oszustw bankowych
Rynki finansowe Sieci neuronowe 14/04/2011 33 / 65 Model (oparty na ANN) dla obrotu towarowego prowadzi do większego zysku niż inne strategie handlowe (Collard (1990)) Analiza szerogów czasowych: Np. NETPROPHET (Neural Applications Corporation) - predykcja kursu akcji Wykrywanie oszustw bankowych Np. Program Falcon (firmy HNC założonej przez Robert Hecht-Nielsen i Todd Gutschow w 1986)
Rynki finansowe Sieci neuronowe 14/04/2011 33 / 65 Model (oparty na ANN) dla obrotu towarowego prowadzi do większego zysku niż inne strategie handlowe (Collard (1990)) Analiza szerogów czasowych: Np. NETPROPHET (Neural Applications Corporation) - predykcja kursu akcji Wykrywanie oszustw bankowych Np. Program Falcon (firmy HNC założonej przez Robert Hecht-Nielsen i Todd Gutschow w 1986) Walidacja podpisów bankowych: sieci neuronowe działaja lepiej niż ludzki ekspert!
Le-Net5: system OCR Sieci neuronowe 14/04/2011 34 / 65
Le-Net5: system OCR Sieci neuronowe 14/04/2011 34 / 65
Le-Net5: system OCR Sieci neuronowe 14/04/2011 34 / 65
Podsumowanie: Sieci neuronowe 14/04/2011 35 / 65 Sieci neuronowe oferuja zestaw metod, które naśladuja sposób działania ludzkiego mózgu. Podstawowa jednostka przetwarzajac a jest neuron. Neurony sa podzielone na warstwy i połaczone ze soba. W sieciach neuronowych, wiedza jest przechowywana w wagach połaczenia między neuronami. Algorytm wstecznej propagacji błędów jest najbardziej popularny (zwłaszcza w zastosowaniach biznesowych) wśród metod uczenia sieci neuronowych. uczenia sieci neuronowych może być zarówno z nauczycielem lub bez nauczyciela.
Podsumowanie: Sieci neuronowe 14/04/2011 35 / 65 Wady? Sieci neuronowe oferuja zestaw metod, które naśladuja sposób działania ludzkiego mózgu. Podstawowa jednostka przetwarzajac a jest neuron. Neurony sa podzielone na warstwy i połaczone ze soba. W sieciach neuronowych, wiedza jest przechowywana w wagach połaczenia między neuronami. Algorytm wstecznej propagacji błędów jest najbardziej popularny (zwłaszcza w zastosowaniach biznesowych) wśród metod uczenia sieci neuronowych. uczenia sieci neuronowych może być zarówno z nauczycielem lub bez nauczyciela.
Uczenie z nauczycielem i bez nauczyciela Sieci neuronowe 14/04/2011 36 / 65
Outline Sieci neuronowe 14/04/2011 37 / 65 1 Podstawy sieci neuronowych 2 Problem klasyfikacji i sieci wielowarstwowe 3 Projektowanie sieci neuronowych 4 Zastosowania 5 Inne paradymaty sieci neuronowych Sieci rekurencyjne Modele samoorganizacji 6 Dodatki Historia Możliwości sieci wielowarstwowych
Sieci Hopfielda Sieci neuronowe 14/04/2011 38 / 65 Zbadane przez Hopfielda; Zwane również sieciami auto-asocjacyjnymi; Sa to jedno-warstwowe sieci z pełnym połaczeniem typu każdy z każdym ; Każdy neuron ma bipolarne wartość wejść i wyjść;
Operacje w sieciach Hopfielda: Sieci neuronowe 14/04/2011 39 / 65 Zainicjuj wartości poczatkowe do sieci; Czekaj aż sieć się ustabilizuje; To działa w czasie dyskretnym: t 1, t 2,...,t N ; wartości neuronów w chwili t n zależy od wartości neuronów w chwili t n 1 : u i (t n )= X w ij y j (t n 1 ) j 8 < y i (t n )= : 1 jeśli u i (t n ) > T i y i (t n 1 ) gdy u i (t n )=T i 1 jeśli u i (t n ) < T i Odczytaj wartości neuronów jako wynik obliczeń; Istnieja modele synchroniczne i asynchroniczne;
Dlaczego to działa? Sieci neuronowe 14/04/2011 40 / 65 Stanem sieci nazywamy wektor wartości neuronów w danym momencie 0 1 y 1 (t) y(t) = B y 2 (t) C @... A =(y 1(t), y 2 (t),...,y n (t)) T y n (t) Charakterystyczna własnościa dla bieżacego stanu y =(y 1,...,y n ) T sieci Hopfielda jest funkcja energii: E(y) = 1 2 yt Wy + T T y = 1 2 nx nx nx w ij y i y j + T i y i i=1 j=1 i=1 Hopfield pokazał, że funkcja energii jest nierosnaca: E = E(y(t + 1)) E(y(t)) apple 0
Sieci neuronowe 14/04/2011 41 / 65 Istnieja więc stany o minimalnej energii (lokalnie); Takie stany możemy traktować jako atraktory, których zbiegaja inne stany: Sieć Hopfielda jest pewnym rodzajem pamięci asocjacyjnej; Problem: jak zaprojektować sieć, która pamięta zadane wzorce?
Ustalenie wartości wag: Sieci neuronowe 14/04/2011 42 / 65 UWAGA: wagi się nie zmieniaja w procesie uczenia się; Maciecz wag musi spełniać warunki: symetryczność: zerowa przekatna: w ij = w ji w ii = 0 Zwykle chcemy, aby sieć ustabilizowała w jednym z wektorów: ~v 1,..., v~ m, gdzie v p =(x p 1,...xp n) Aby to zapewnić możemy stosować reguły Hebba: w ij = PX p=1 x p i xp j lub PX W = v p v T p mi p=1
Sieci neuronowe 14/04/2011 43 / 65 Przykład Niech Wówczas 0 v 1 = @ 1 1 1 1 0 A v 2 = @ 0 W = v 1 v T 1 + v 2 v T 2 2I = @ 1 1 1 1 A 0 2 2 2 0 2 2 2 0 Łatwo można sprawdzić, że jeśli y(t n 1 )=v i to 0 1 4 Wv 1 = @ 4 A 4 czyli y(t n )=v i 1 A
Sieci neuronowe 14/04/2011 44 / 65 Hopfield pokazał, że pojemność sieci wynosi m max = 0.15n Przy pewnych założeniach m max = n/2 log n
Sieć Hopfielda w rozwiazywaniu problemu kombinatorycznego Sieci neuronowe 14/04/2011 45 / 65
Sieci neuronowe 14/04/2011 46 / 65 SOM (Self-Organized Maps) - samorganizujaca się mapa. Mapy topograficzne powstaje przez połaczenia lokalne: neuron silnie pobudzany przez pobliskie połaczenie, słabo przez odległe, hamowany przez neurony pośrednie. Historia: von der Malsburg i Willshaw (1976), uczenie konkurencyjne, mechanizm Hebbowski, wzbudzenie typu Meksykańskiego kapelusza, model układu wzrokowego. Amari (1980) - model ciagłej tkanki neuronowej. Kohonen (1981) - uproszczenie, bez hamowania; dwie fazy - konkurencja i kooperacja.
Algorytm SOM Sieci neuronowe 14/04/2011 47 / 65 Struktura: Neurony sa umieszczone (ale nie połaczone ze soba) na siatce 1,2 lub 3-wymiarowa. Każdy neuron ma N wag. Neuron i-ty ma wagi Wi ~ (t) =(w i1,...,w in ),a wektor wejściowy ma współrzędne: (x 1,...,x N ) (t - czas dyskretny)
Algorytm: Sieci neuronowe 14/04/2011 48 / 65 1 Inicjalizacja: przypadkowe W i (0) dla wszystkich i = 1..K. Definiuj wokół neuronu położonego w miejscu r c siatki obszar sasiedztwa Os(r c, (t)) o promieniu (t). 2 Oblicz odległości s X d(x, W i )= X W i = (x j w ij ) 2 3 znajdź neuron c = argmin i X W i z wagami W c najbardziej podobnymi do X (neuron-zwycięzcę). 4 Zmień wagi wszystkich neuronów r i w sasiedztwie Os(r c, j (t)) W i (t + 1) =W i (t)+h(r i, r c )(X W i (t)) where h(r i, r c )=h 0 (t) e r rc 2 / 2 c (t) 5 Powoli zmniejszaj siłę h 0 (t) i promień (t). 6 Iteruj aż ustana zmiany.
Własności SOM Sieci neuronowe 14/04/2011 49 / 65 Brak dowodu o zbieżności lub punktach stacjonarnych dla SOM: Wyniki analityczne tylko w 1D dla ciagłego czasu, proces Markova: wartości wag wzdłuż prostej porzadkuj a się. Powolna zbieżność: 10 4 10 6 iteracji. Sasiednie neurony koduja sasiednie obszary, ale niekoniecznie odwrotnie Skręcone konfiguracje przy zbyt szybkiej redukcji sasiedztwa. Złożoność O(KNn) dla K neuronów i n danych N-wymiarowych: konieczne porównanie wszystkich odległości; niezbyt duże mapy. Na komputerach wieloprocesorowych szukanie min z K będzie powolne. SOM działa jak metoda klasteryzacji k-średnich jeśli = 0.
Modyfikacje SOM Sieci neuronowe 14/04/2011 50 / 65 Próba wprowadzenia funkcji błędu (Luttrell; Heskes i Kappen). Bład lokalny neuronu i jest suma po wszystkich neuronach: gdzie E i (X; t) = 1 X h( r i r j, t) X W i (t) 2 2 h( r i r j, t) =exp r i r j 2 j 2 2 (t) ; (t) = 0e 2 0t/t max Neuron-zwycięzca ma najmniejszy bład lokalny: c = argmin i E i (X; t)
Uczenie sieci 2D Sieci neuronowe 14/04/2011 51 / 65
Uczenie kwadratu w sieci 2D Sieci neuronowe 14/04/2011 52 / 65
Uczenie trojkata w sieci 1D Sieci neuronowe 14/04/2011 53 / 65 Tworzy się fraktalne krzywe Peano.
Zniekształcenie Sieci neuronowe 14/04/2011 54 / 65 Poczatkowe zniekształcenia moga zniknać lub pozostać.
WEBSOM websom.hut.fi/websom/ Sieci neuronowe 14/04/2011 55 / 65
Outline Sieci neuronowe 14/04/2011 56 / 65 1 Podstawy sieci neuronowych 2 Problem klasyfikacji i sieci wielowarstwowe 3 Projektowanie sieci neuronowych 4 Zastosowania 5 Inne paradymaty sieci neuronowych Sieci rekurencyjne Modele samoorganizacji 6 Dodatki Historia Możliwości sieci wielowarstwowych
Ogólny model uczenia indukcyjnego Sieci neuronowe 14/04/2011 57 / 65 Niech X (skończony lub nieskończony) zbiór obiektów; Pojęcie t : X!{0, 1} zwane funkcja celu.
Ogólny model uczenia indukcyjnego Sieci neuronowe 14/04/2011 57 / 65 Niech X (skończony lub nieskończony) zbiór obiektów; Pojęcie t : X!{0, 1} zwane funkcja celu. Dane: skończona próbka treningowych wzorców: D = {hx 1, c(x 1 )i,...,hx m, c(x m )i} 2 S(m, c) gdzie x 1,...,x m 2X. przestrzeń hipotez H = {h : X!{0, 1}};
Ogólny model uczenia indukcyjnego Sieci neuronowe 14/04/2011 57 / 65 Niech X (skończony lub nieskończony) zbiór obiektów; Pojęcie t : X!{0, 1} zwane funkcja celu. Dane: skończona próbka treningowych wzorców: D = {hx 1, c(x 1 )i,...,hx m, c(x m )i} 2 S(m, c) gdzie x 1,...,x m 2X. przestrzeń hipotez H = {h : X!{0, 1}}; Szukane algorytm uczacy się L
Ogólny model uczenia indukcyjnego Sieci neuronowe 14/04/2011 57 / 65 Niech X (skończony lub nieskończony) zbiór obiektów; Pojęcie t : X!{0, 1} zwane funkcja celu. Dane: skończona próbka treningowych wzorców: D = {hx 1, c(x 1 )i,...,hx m, c(x m )i} 2 S(m, c) gdzie x 1,...,x m 2X. przestrzeń hipotez H = {h : X!{0, 1}}; Szukane algorytm uczacy się L Wymagane hipoteza h = L(D) 2 H jest dobra aproksymacja pojęcia t.
Krótka historia ANN - czasy pionierskie Sieci neuronowe 14/04/2011 58 / 65 Dawno, dawno temu powstały neurony i układ nerwowy. 1868 J.C. Maxwell opisał mechanizm sprzężenia zwrotnego. 1942 N. Wiener formułuje podstawy współczesnej cybernetyki. 1943 W.S. McCulloch i W.H. Pitts przedstawiaja ideę działania sztucznego neuronu. 1949 D.O. Hebb w dziele The Organization of Behavior opisuje zasadę (regułę Hebba) w oparciu o która następuje adaptacja w sieciach neuronowych. 1957-1962 Badania F. Rosenblatta nad pierwszymi fizycznymi modelami sieci neuronowych - perceptronami. 1960 G. Widrow i M. Hoff przedstawiaja pierwsze modele sieci jednowarstwowych ADALINE/MADALINE. 1969 M. Minsky i S. Pappert w ksiażce Perceptrons poddaja miażdżacej krytyce dotychczasowe osiagnięcia perceptroniki. Wykazuja słabości i ograniczoność modelu jednowarstwowego. Rezultatem jest zawieszenie na niemal dekadę ok. 70% badań nad ANN.
Krótka historia ANN - renesans Sieci neuronowe 14/04/2011 59 / 65 Od 1972 S. Amari, D. Grossberg, J. Anderson i inni pierwsze badania nad samoorganizacja w sieciach neuronowych. Wykorzystanie sprzężenia zwrotnego do tworzenia układów naśladujacych pamięć asocjacyjna u człowieka. 1974 P. Werbos w swojej pracy doktorskiej podał ideę propagacji wstecznej (backpropagation), dzięki której możliwe stało się opracowanie efektywnego mechanizmu adaptacji (uczenia się) w sieciach wielowarstwowych. 1982 J. Hopfield przedstawia model sieci rekurencyjnej realizujacej zadania rozpoznawania wzorców i optymalizacji. 1986 D.E. Rumelhart i J.L. McClelland w ksiażce Parallel Distributed Processing opisali propagację wsteczna i sformułowali algorytm zmiany wag (regułę delty). Ich praca spowodowała rozpowszechnienie tych idei i w rezultacie lawinowy rozwój badań nad teoria i zastosowaniami ANN.
Krótka historia ANN - współczesność Sieci neuronowe 14/04/2011 60 / 65 1990 C. Mead przedstawia pierwsze analogowo-cyfrowe układy elektroniczne wykorzystujace architekturę ANN. Pojawiaja się poważne zastosowania w przemyśle i obronności. 1992 T. Kohonen przedstawia idee sieci z samoorganizacja (Self Organising Map SOM) nazwanej potem jego imieniem. Opisuje także mechanizm uczenia się kwantyzacji wektorów (Learning Vector Quantisation). Od 1988 prowadzone sa intensywne badania podstawowe i stosowane majace na celu podanie lepszych metod konstruowania, uczenia i oceny działania sieci neuronowych. Prowadzone sa także badania nad podstawami teoretycznymi działania modelu ANN. Dzień dzisiejszy sztuczne sieci neuronowe sa uznanym i powszechnie stosowanym narzędziem w wielu działach nauki i techniki.
Możliwości sieci wielowarstwowych Sieci neuronowe 14/04/2011 61 / 65 Okazuje się, że sieci wielowarstwowe o nieliniowych (sigmoidalnych) funkcjach aktywacji neuronów maja, przynajmniej teoretycznie, bardzo duże możliwości. Można za ich pomoca aproksymować w zasadzie wszelkie rozsadne funkcje z R s w R m. Niestety, twierdzenia określajace możliwości sieci neuronowych sa egzystencjalne. Ich konstruktywność pozostawia wiele do życzenia. Dlatego w praktyce parametry takie jak liczba i układ neuronów (architektura sieci), stałe i strategia uczenia, funkcja aktywacji itp., musza być wyznaczone heurystycznie na podstawie znajomości problemu. Istnieja pewne wskazówki wspomagajace wybór architektury i parametrów sieci, ale maja one charakter nieścisły. W terminach klasycznej teorii złożoności konstruowanie sieci neuronowej nie jest typowym zadaniem optymalizacji. Jednakże można pokazać, że nawet dla bardzo prostej, ustalonej architektury sieci i ustalonej konfiguracji parametrów uczenia, znalezienie optymalnego układu wag jest co najmniej NP-trudne.
Istnienie sieci o ustalonej architekturze Sieci neuronowe 14/04/2011 62 / 65 Niech I =[0, 1], S = I s będzie s-wymiarowa kostka (domknięta), 0 apple x p apple 1, p = 1,..,s. Twierdzenie Kołmogorowa-Arnolda-Sprechera Istnieje s stałych 0 < p apple 1, p = 1,...,s, i 2s + 1 funkcji q(x), q = 0,...,2s określonych na I, ściśle rosnacych i należacych do klasy Lip, dla >0takich, że dla każdej funkcji ciagłej f określonej na S istnieje funkcja ciagła g(u), dla której: 0 1 X2s X2s sx f (x 1,...,x s )= g( 1 q (x 1 )+... + s q (x s )) = g @ p q(x p ) A q=0 q=0 p=1 Wniosek Hecht-Nielsen Dla dowolnej funkcji ciagłej h :[a, b] s! R m istnieje czterowarstwowa sieć neuronowa zupełna o s wejściach, odpowiednio m(2s + 1) i s(2s + 1) neuronach w warstwach ukrytych i m wyjściach, która oblicza h.
Istnienie sieci o ustalonej aktywacji Sieci neuronowe 14/04/2011 63 / 65 Przez funkcję sigmoidalna (ang. sigmoid, squashing) będziemy rozumieć każda funkcję ' : R! [0, 1] taka że: ' jest niemalejaca w R. lim x!1 '(x) =1 lim x! 1 '(x) =0 Termin funkcja sigmoidalna jest często utożsamiany z logistyczna funkcja sigmoidalna '(x) = 1 1+e x ze względu na powszechne występowanie tej ostatniej w zastosowaniach. Poprzednio wprowadziliśmy oznaczenie S = I s. Przez C(I s ) oznaczymy przestrzeń funkcji ciagłych nad I s o wartościach w R, przez Af s zbiór funkcji afinicznych z R s w R, to jest funkcji postaci A(! x )=! w!x + b, gdzie! x,! w 2 R s, b 2 R. Przez B s oznaczmy rodzinę zbiorów borelowskich w R s. C(R s, R m ) oznacza rodzinę funkcji ciagłych z R s w R m.
Istnienie sieci o ustalonej aktywacji Sieci neuronowe 14/04/2011 64 / 65 Dla dowolnej funkcji mierzalnej ' : R! R i liczby naturalnej s X s(') = {f : R s! R : f (! x )= qx j=1 j' A j (! x ), dla pewnych j 2 R, A j 2 Af s, q 2{1, 2,...}}, w której neurony warstwy ukrytej maja funkcje pobudzenia ', a neuron wyjściowy realizuje liniowa funkcję pobudzenia (x) =x dla argumentu będacego iloczynem skalarnym!!', gdzie! =( 1,..., q),! ' =('(A 1 (! x )),...,'(A q (! x ))). Dla dowolnej funkcji mierzalnej ' : R! R i liczby naturalnej s XY s(') = {f : R s! R : f (! x )= qx j=1 j l j Y k=1 ' A j,k (! x ) dla pewnych j 2 R, A j,k 2 Af s, l j 2 N, q 2{1, 2,...}}
Istnienie sieci o ustalonej aktywacji Sieci neuronowe 14/04/2011 65 / 65 Twierdzenie Hornick-Stinchcombe-White Dla dowolnej funkcji sigmoidalnej ', dowolnego naturalnego s i dowolnej miary probabilistycznej µ na (R s, B s ) rodzina Ps (') jest jednostajnie gęsta na zbiorach zwartych w C(R s, R). Ponieważ, jak wcześniej zaznaczyliśmy, klasa Ps (') może być utożsamiona z klasa funkcji z R s w R obliczalna przez sieć neuronowa o jednej warstwie ukrytej, na mocy powyższego twierdzenia otrzymujemy uniwersalność aproksymacji taka siecia dla funkcji z C(R s, R). Analogiczny wynik dla przypadku aproksymacji funkcji idacych z R P s w R m uzyskujemy przez zdefiniowanie analogów rodzin funkcji s i PQs.