Sieci neuronowe i algorytmy uczenia. Część materiałów ze slajdów pozbawiona: większości rysunków, przykładów, niektórych wzorów.

Podobne dokumenty
Uczenie sieci typu MLP

Sztuczna Inteligencja Tematy projektów Sieci Neuronowe

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

wiedzy Sieci neuronowe

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

Podstawy Sztucznej Inteligencji (PSZT)

Inteligentne systemy informacyjne

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

Optymalizacja ciągła

IMPLEMENTACJA SIECI NEURONOWYCH MLP Z WALIDACJĄ KRZYŻOWĄ

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

Sztuczna inteligencja

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

Sztuczne sieci neuronowe

Elementy inteligencji obliczeniowej

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

Systemy Inteligentnego Przetwarzania wykład 7: Sieci RBF

SZTUCZNA INTELIGENCJA

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

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

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

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

KADD Minimalizacja funkcji

Zastosowania sieci neuronowych

Wstęp do sieci neuronowych, wykład 03 Warstwy RBF, jednostka Adaline.

SIECI REKURENCYJNE SIECI HOPFIELDA

Inteligentne systemy decyzyjne: Uczenie maszynowe sztuczne sieci neuronowe

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

Sztuczne Sieci Neuronowe

Metody Sztucznej Inteligencji II

Optymalizacja ciągła

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

Elementy Sztucznej Inteligencji. Sztuczne sieci neuronowe cz. 2

Widzenie komputerowe

METODY INTELIGENCJI OBLICZENIOWEJ wykład 5

Zagadnienia optymalizacji i aproksymacji. Sieci neuronowe.

Sztuczne sieci neuronowe

Aproksymacja funkcji a regresja symboliczna

Algorytmy decyzyjne będące alternatywą dla sieci neuronowych

Temat: Sieci neuronowe oraz technologia CUDA

METODY INŻYNIERII WIEDZY

ROZWIĄZYWANIE RÓWNAŃ NIELINIOWYCH

Metody sztucznej inteligencji Zadanie 3: (1) klasteryzacja samoorganizująca się mapa Kohonena, (2) aproksymacja sieć RBF.

METODY INŻYNIERII WIEDZY KNOWLEDGE ENGINEERING AND DATA MINING

Sztuczne sieci neuronowe i sztuczna immunologia jako klasyfikatory danych. Dariusz Badura Letnia Szkoła Instytutu Matematyki 2010

Sztuczne sieci neuronowe (SNN)

ZADANIA OPTYMALIZCJI BEZ OGRANICZEŃ

Lekcja 5: Sieć Kohonena i sieć ART

MODELOWANIE RZECZYWISTOŚCI

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

6. Perceptron Rosenblatta

wiedzy Sieci neuronowe (c.d.)

Zastosowania sieci neuronowych

Uczenie sieci radialnych (RBF)

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

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.

Zrównoleglona optymalizacja stochastyczna na dużych zbiorach danych

Wstęp do sztucznych sieci neuronowych

Wstęp do sieci neuronowych, wykład 03 Warstwy RBF, jednostka ADALINE.

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

Metody numeryczne I Równania nieliniowe

SZTUCZNA INTELIGENCJA

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

WYKŁAD 9 METODY ZMIENNEJ METRYKI

Techniki Optymalizacji: Stochastyczny spadek wzdłuż gradientu I

I EKSPLORACJA DANYCH

1 Metody rozwiązywania równań nieliniowych. Postawienie problemu

Inteligentne systemy decyzyjne: Uczenie maszynowe sztuczne sieci neuronowe

Obliczenia Naturalne - Sztuczne sieci neuronowe

Programowanie celowe #1

Wstęp do teorii sztucznej inteligencji

2.4. Algorytmy uczenia sieci neuronowych

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

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

1. Logika, funkcje logiczne, preceptron.

mgr inż. Magdalena Deckert Poznań, r. Metody przyrostowego uczenia się ze strumieni danych.

Spis treści. Przedmowa... XI. Rozdział 1. Pomiar: jednostki miar Rozdział 2. Pomiar: liczby i obliczenia liczbowe... 16

Wykład 1: Wprowadzenie do sieci neuronowych

Iteracyjne rozwiązywanie równań

KADD Minimalizacja funkcji

Elementy kognitywistyki III: Modele i architektury poznawcze

Co to jest grupowanie

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

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

Uczenie sieci neuronowych i bayesowskich

Obliczenia inteligentne Zadanie 4

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

Analiza składowych głównych. Wprowadzenie

SIECI NEURONOWE Liniowe i nieliniowe sieci neuronowe

SIECI RBF (RADIAL BASIS FUNCTIONS)

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

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

Podstawy sztucznej inteligencji

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

Automatyczna predykcja. Materiały/konsultacje. Co to jest uczenie maszynowe? Przykład 6/10/2013. Google Prediction API, maj 2010

Sieci Rekurencyjne 1 / 33. Sieci Rekurencyjne. Nguyen Hung Son

SZTUCZNE SIECI NEURONOWE

Optymalizacja optymalizacji

HAŁASU Z UWZGLĘDNIENIEM ZJAWISK O CHARAKTERZE NIELINIOWYM

Sztuczne sieci neuronowe. Uczenie, zastosowania

Transkrypt:

Sieci neuronowe i algorytmy uczenia Część materiałów ze slajdów pozbawiona: większości rysunków, przykładów, niektórych wzorów.

Sztuczne sieci neuronowe Co to takiego? (dlaczego neuronowe?!) Skąd się wzięły? Z czym to łączyć? (biologia, informatyka?) Do czego służą? (czy w ogóle mają jakieś zastosowania?)

Wprowadzenie, a więc Początki fascynacja możliwościami ludzkiego umysłu Próby modelowania poszczególne elementy, a może całość? Nowa dyscyplina nauki: kognitywistyka

Kognitywistyka (cognitive science) Dział nauki zajmujący się badaniem, opisywaniem i modelowaniem zjawisk dotyczących działania umysłu Bada naturę ludzkiej inteligencji Łączy różne dyscypliny: psychologię, filozofię, neurologię, lingwistykę, informatykę, socjologię, biologię, etc.

Kognitywistyka trochę historii Można wywodzić ją ze starożytności Platon i Arystoteles też zastanawiali się nad działaniem umysłu W latach 50. XX wieku pojawiają się pierwsze pomysły modelowania działania ludzkiego umysłu (Miller, Minsky, Simon, Papert, McCarthy) W połowie lat 70. wyodrębnia się nowa dziedzina wiedzy, rozpoczyna się wydawanie Cognitive Science, odbywają się konferencje, pojawiają się kierunki studiów

Główne założenie Do wyjaśnienia działania umysłu konieczne jest zrozumienie mechanizmów zachodzących w nim na różnych poziomach, np. poziomie najwyższym (psychologia) i najniższym (neurobiologia, biochemia), jak również powiązanie ich ze sobą (matematyka)

Sztuczna inteligencja (AI) Gałąź informatyki (a może innej dyscypliny) mająca na celu stworzenie inteligentnej maszyny Badanie i projektowanie inteligentnych agentów (systemów postrzegających swoje środowisko i na tej podstawie podejmujących działania maksymalizujące ich sukces) John McCarthy: "the science and engineering of making intelligent machines"

Sztuczna inteligencja Dziś dyscyplina pokawałkowana na wiele subdyscyplin rozwijających się oddzielnie Główne problemy AI: rozumowanie (wnioskowanie), wiedza, planowanie, uczenie się, komunikowanie, percepcja, zdolność ruchu i manipulowania obiektami Kiedyś stworzenie sztucznego rozumu wydawało się proste: 1965, H. A. Simon: "[M]achines will be capable, within twenty years, of doing any work a man can do" 1967, Marvin Minsky: "Within a generation... the problem of creating 'artificial intelligence' will substantially be solved."

Modelowanie obliczeniowe Tworzenie modeli komputerowych pozwalających symulować różne poziomy i zjawiska procesu poznawczego Modelowanie symboliczne starsze podejście, zapisanie reguł, wiedzy, różne struktury Modelowanie podsymboliczne sieci neuronowe i metody pokrewne

Sztuczne sieci neuronowe Struktury i algorytmy mające początkowo modelować działanie biologicznych układów neuronowych, w tym, docelowo również mózgu ludzkiego Dziś: struktury, metody, modele programowe i sprzętowe, przetwarzające, najczęściej równolegle, sygnał wejściowy za pomocą elementów zwanych neuronami

Historia 1943 r.: McCulloch i Pitts pierwszy matematyczny opis komórki nerwowej 1949 r.: D. Hebb reguła Hebba, struktura sieci jako pamięć 1957, 1968 r.: Rosenblatt perceptron (do rozpoznawania znaków, Cornell Aeronautical Laboratory ) 1960 r.: Widrow Adaline i Madaline (Stanford), pierwszy komercyjny neurokomputer

Historia c.d. 1969 r.: Minsky i Papert pokazanie ograniczeń sieci jednowarstwowych Lata 70.: Wielka Smuta 1974 r.: Werbos schemat uczenia sieci wielowarstwowej, niezauważony 1982 r.: Kohonen samoorganizujące się sieci Kohonena 1982 r.: Hopfield ponowne odkrycie wstecznej propagacji 1986 r.: McClellanda i Rumelhart popularyzują ideę sieci wielowarstwowych a potem gwałtowny rozwój SSN aż do dziś

Zastosowania: Rozpoznawanie, klasyfikacja Klasteryzacja Analiza i przetwarzanie obrazów Przetwarzanie sygnałów (aproksymacja, filtracja) Predykcja szeregów czasowych Optymalizacja Pamięci autoasocjacyjne Kompresja i wiele innych

Podstawy biologiczne Inspiracja: układ nerwowy, począwszy od robaków, stawonogów, mięczaków, na ssakach skończywszy Cel: zbadanie (a potem skopiowanie) mózgu ludzkiego Fakty: mózg człowieka 1400 ccm, powierzchnia 2000cm2, (dla kuli 600 cm2), waga 1.5 kg

Podstawy biologiczne budowa mózgu Kora mózgowa: grubość 3mm, 10^30 komórek nerwowych, 10^12 glejowych, 10^15 połączeń o długości od 0.01mm do 1m Komórki nerwowe wysyłają i przyjmują impulsy o częstotliwości 1-100 Hz, czasie trwania 1-2 ms, napięciu 100 mv i szybkości propagacji 1-100 m/s

Podstawy biologiczne - mózg Szybkość pracy: 1018 operacji/s Do typowej reakcji mózgu potrzeba ok. 100 kroków: czas reakcji nie mniejszy niż 300ms, czas refrakcji neuronu 3ms Pojemności kanałów zmysłów : wzrok 100 Mb/s, dotyk 1 Mb/s, słuch 15 Kb/s, węch 1 Kb/s, smak 100 b/s

Model neuronu (McCulloch i Pitts)

Rodzaje SSN Sieci jednowarstwowe wejścia, jedna warstwa neuronów Sieci wielowarstwowe jednokierunkowe propagacja sygnałów od wejść do wyjść, brak sprzężeń Sieci rekurencyjne sprzężenie zwrotne między wejściem a wyjściem, mogą być jednolub wielowarstwowe

Sieć jednowarstwowa Składa się z węzłów wejściowych, oraz warstwy neuronów W zależności od metody uczenia, oraz funkcji aktywacji może to być: perceptron prosty, sieć jednokierunkowa (sigmoidalna lub radialna), czy też sieć samoorganizująca typu Kohonena

Sieć wielowarstwowa

Sieć wielowarstwowa Składa się z węzłów wejściowych, jednej lub kilku warstw ukrytych, oraz warstwy wyjściowej Sieci te to sieci jednokierunkowe sigmoidalne Mogą być traktowane jako uniwersalne aproksymatory

Sieci rekurencyjne

Sieci rekurencyjne Posiadają sprzężenie pomiędzy sygnałami wyjść, a wejściami sieci Opis dynamika nieliniowa: dynamiczne ustalanie się sygnałów (operatory opóźnień) i nieliniowe funkcje aktywacji

Metody uczenia sieci klasyfikacja Uczenie nadzorowane, z nauczycielem (supervised learning) Uczenia z krytykiem (reinforcement learning) Uczenia bez nauczyciela, samoorganizujące (unsupervised learning)

Metody uczenia inny podział Uczenie typu on-line, reguła delta: aktualizacja wag następuje po prezentacji każdego obrazu uczącego Uczenie typu skumulowanego, batch-learning: adaptacja wag po prezentacji wszystkich elementów ciągu uczącego Możliwe strategie mieszane

Uczenie sieci neuronowych Wagi modyfikowane są w kolejnych iteracjach zwanych epokami Zmiana wag zapisana być może jako: przy czym

Perceptron Skokowa funkcja aktywacji neuronu Dopuszczalne dwie wartości wyjścia (0 i 1, -1 i 1) Uczenie perceptronu minimalizacja błędu np. kwadratowego Nauczenie błąd zerowy

Reguła perceptronu

Reguła Widrowa-Hoffa Uogólnienie reguły perceptronu Możliwość stosowania przy różnych funkcjach aktywacji neuronu Zmiana wag postaci:

Neuron Adaline (Adaptive Linear Element, B. Widrow)

Neuron Instar Dopasowuje wagi do swoich sygnałów wejściowych Funkcja aktywacji zwykle liniowa Uczenie wg reguły Grossberga: w Może być uczony z nauczycielem lub bez ij t + 1= w t +ηy x w t ij i j ij

Neuron Outstar (S. Grossberg)

Neuron typu Outstar Ma wygenerować wektor zadany dla neuronów z nim powiązanych Dopasowuje wagi do neuronów liniowych, do których dochodzą jego wyjścia Uczenie z nauczycielem lub bez

Neurony WTA Neurony współzawodniczą ze sobą Zwycięzcą zostaje neuron o największej wartości wyjścia sumatora Zwycięzca przyjmuje na wyjściu wartość 1 (stan aktywny), pozostałe neurony 0 Uczenie odbywa się bez nauczyciela (np. reguła Instar)

Neuron Hebba (D. Hebb) Działanie oparte na obserwacji biologicznej: wzmacniane są połączenia komórek będących w stanie pobudzenia (aktywności) w tym samym czasie Reguła Hebba: zmiana wag neuronu odbywa się proporcjonalnie do iloczynu wejścia i wyjścia Δw = ηy x Uczenie z nauczycielem ij lub bez i j

Neuron sigmoidalny

Liniowa separowalność XOR x 1 0 0 1 1 x 2 0 1 0 1 d 0 1 1 0 W 1969 w słynnej książce "Perceptrons" Marvin Minsky i Seymour Papert pokazali, że jednowarstwowego perceptronu nie można nauczyć nawet funkcji XOR. W 1957 Frank Rosenblatt skonstruował elektromechaniczny perceptron w the Cornell Aeronautical Laboratory.

Przykładowe funkcje aktywacji (Matlab)

Neuron sigmoidalny funkcje aktywacji Funkcja unipolarna: f x = 1 1 e αx Funkcja bipolarna: f x= tanhαx

Uczenie neuronu sigmoidalnego Pierwszy sposób (dyskretny): w i ij t + 1= w t = y i d i ij df s ds η i i i x i Drugi sposób: dw dt ij = ηd i x j

Funkcje aktywacji w 1,w 2,...w p wagi (ang. weights) w 0 - wartość progowa, polaryzacja, przesunięcie (ang. bias) f funkcja aktywacji (ang. activation function, transfer function) y w 1 w 2 w 0 w p 1 x 1 y x 2 f w 0 p i1 x p w i x i

Funkcje aktywacji Skokowa f. aktywacji (nieróżniczkowalna): ( u) sgn( u) f b sgn Funkcja sigmoidalna bipolarna: f f bip1 bip2 ( u) tgh( u) 2 ( u) 1 2 f 1 exp( u) unip ( u) 1 Funkcja sigmoidalna unipolarna: f unip ( u) 1 1 exp( u)

Pochodne funkcji aktywacji ) ( ) 1 ( 2 ) ( ) ( ) ( 1 ) ( ) ( ) ( ) 1 ( ) ( ) ( 2 2 1 1 u f u f u d u df u f u d u df u f u f u d u df unip unip bip bip bip unip unip unip

Liczba neuronów w warstwie ukrytej Pewną wskazówką: Maksymalna liczba obszarów, na które J hiperpłaszczyzn może podzielić n-wymiarową przestrzeń M ( J, n) n k0 J k

Uczenie perceptronu q i p i N i i i R R ) ( ) ( 1 ) ( ) (, gdzie, }, { d x d x Zbiór uczący: Zwykle funkcja celu: Dla jednej próbki uczącej (uczenie on-line): ang. on-line (incremental) learning q j y j d j E 1 2 ) ( 2 1 Dla całego zbioru uczącego: ang. batch learning N k q j k j k y j d E 1 2 ) ( ) ( ) ( 2 1 Uczenie z nauczycielem (pod nadzorem) Epoka zaprezentowanie całego zbioru uczącego

Uczenie sieci jednokierunkowych Najpopularniejszy rodzaj sieci (jednokierunkowe, wielowarstwowe, o sigmoidalnych funkcjach aktywacji) Uczenie opiera się na wstecznej propagacji błędu (backpropagation) Uczenie polega na minimalizacji zadanej funkcji błędu (najczęściej metody gradientowe)

Metoda wstecznej propagacji błędu (J. Werbos) W metodzie wstecznej propagacji błędu przyjęto następujące założenia dotyczące zadania uczenia: sieć jest ściśle wielowarstwowa (istnieją jedynie połączenia pomiędzy neuronami kolejnych warstw), funkcje aktywacji sieci, oraz funkcja celu są ciągłe i różniczkowalne, dane uczące składają się z wartości podawanych na wejście sieci i odpowiadających im pożądanych wartości wyjść.

Backpropagation 1. Sieć analizowana jest w kierunku od wejścia do wyjścia. Przy ustalonych sygnałach wejściowych obliczane są wartości wyjść neuronów poszczególnych warstw, oraz pochodne cząstkowe wszystkich funkcji aktywacji. 2. Siec analizowana jest w kierunku odwrotnym do zwykłego przepływu sygnałów. Funkcje aktywacji zastępowane są przez swoje pochodne, do wyjścia sieci podawane jest wymuszenie w postaci różnicy miedzy obliczonym wcześniej wyjściem, a wartością zadaną. W tak zdefiniowanym stanie, od warstwy ostatniej do pierwszej propagowany jest błąd (różnice wsteczne) obliczany dla wszystkich neuronów kolejnych warstw. 3. Następuje aktualizacja wszystkich wag sieci na podstawie zadanej reguły uczenia i wyników uzyskanych w poprzednich krokach algorytmu. Jeżeli nie został spełniony warunek stopu, powraca się do punktu pierwszego.

Minimalizowana funkcja kryterialna (funkcja błędu) Najczęściej używa się funkcji kwadratowej: Ogólnie można użyć funkcji: a więc w szczególności

Algorytmy gradientowe Rozwinięcie funkcji w szereg Taylora: gradient: n ilość wag sieci.

Hesjan: Algorytmy gradientowe

Algorytmy gradientowe Najczęściej ograniczamy się do rozwinięcia: i otrzymujemy krok uczenia:

Algorytmy gradientowe: Największego spadku: Levenberga Marquardta Gradientów sprzężonych BPQ Quickprop RBPROP i wiele innych

Ogólna zasada postępowania dla algorytmów gradientowych Dla punktu początkowego w k

Algorytm największego spadku

Algorytm największego spadku Otrzymujemy więc zmiany wag: gdzie

Współczynnik uczenia W najprostszej wersji współczynnik uczenia jest stały: więc zmiana wag odbywa się zawsze proporcjonalnie do niego.

Stały współczynnik uczenia Oczywiste wady stałego współczynnika uczenia: Łatwo utknąć w minimum lokalnym Przy zbyt małej wartości proces uczenia przebiega bardzo powoli Przy wartości zbyt dużej można przeoczyć ekstremum Nie ma prostej metody doboru właściwej wartości, np. oszacowanie (Klimauskas):

Zmienny współczynnik uczenia Różne strategie doboru współczynnika: Metody adaptacyjne Minimalizacja funkcji celu w zadanym kierunku po wartościach współczynnika uczenia (m. bisekcji, Fibbonaciego, aproksymacji wielomianami, etc.) Metoda delta-delta, delta-bar-delta i podobne

Algorytm ze współczynnikiem wzrostu błędu Zmiany współczynnika uczenia w czasie przebiegają następująco: η(t + 1)= η(t)q η(t)q i d dla Q(t) k dla Q(t)> k Q(t 1) Q(t 1) Przy czym qi > 1, qd < 1. Współczynnik kw niewiele większy od jedności pozwala on na niewielki chwilowy wzrost wartości błędu. w w

Metody adaptacyjne Jeśli błąd popełniany przez sieć maleje, zwiększenie współczynnika o zadaną wartość W przeciwnym przypadku zmniejszenie go (geometrycznie, podział przez stałą wartość) Inny sposób: uzależnienie współczynnika od szybkości i etapu uczenia

Oddzielny współczynnik uczenia dla każdej wagi Współczynnik uczenia różny dla każdego kierunku (każdej zmiennej, a więc każdej wagi) Dobierany np. w oparciu o gradient funkcji celu:

Metoda delta-delta Współczynnik uczenia obliczany metodą największego spadku:

Metoda delta-delta Na podstawie: Otrzymujemy:

Reguła delta-bar-delta Udoskonalenie metody delta-delta Uwzględnia się uśredniony gradient, a nie jego chwilowe zmiany Unika się niepotrzebnych oscylacji po powierzchni funkcji celu Najczęściej stosowany przy uczeniu skumulowanym

Reguła delta-bar-delta Modyfikacja wag: Przy czym:

Reguła delta-bar-delta Wyrażenie uśredniające gradient: Sprawdzane jest, czy uśredniona wartość ma znak identyczny z aktualną, jeśli tak, przyspiesza się uczenie.

Reguła delta-bar-delta Zmienia się tempo uczenia w zależności od relacji znaków gradientu aktualnego i uśrednionego Współczynnik rośnie addytywnie, maleje wykładniczo Algorytm przyspiesza proces uczenia

Algorytm Resilient Backpropagation Uwzględnianie jedynie znaku składowych gradientu w procesie uczenia Przyspieszenie minimalizacji na stosunkowo płaskich obszarach Może być prostszy obliczeniowo

Algorytm Resilient Backpropagation Zmiana wag ma więc postać: przy

Algorytmy z czynnikiem momentu Metoda uczenia Momentum Backpropagation polega na dodaniu czynnika obciążenia, czy bezwładności, który zwiększa wielkość wahań koniecznych do zmiany kierunku uczenia W algorytmie tym pod uwagę brana jest ogólniejsza tendencja, a nie gwałtowne zmiany wartości gradientu

Algorytmy z czynnikiem momentu Najprostszy sposób wprowadzenia bezwładności: Warto zauważyć, że dla płaskiej powierzchni funkcji:

Algorytm z czynnikiem momentu Odgrywa pozytywną rolę na płaskich odcinkach Pomaga uniknąć oscylacji przy niewielkich zmianach gradientu Wymaga kontrolowania błędu przy zbyt dużym wzroście błędu proces uczenia mógłby stać się niestabilny

Algorytm Quickprop (Fahlman) Δw ij t = η E w ij t t +γw ij t +α t Δw t 1 ij ij α ij t = α β t > α S t Δw t 1β t β max ij t ij max w przeciwnym przypadku ij ij ij < 0 β ij t = S ij S ij t t 1 S t ij

Zmodyfikowany Quickprop (Veith) Δw ij t = α t Δw t 1 dla Δw t 1 α ij η ij t E w = ij ij t t min S ij S ij t ij 0 w przeciwnym przypadku S ij t, α max t S t 1 = E w ij ij t t

Algorytm Levenberga-Marquardt a Jeden z najbardziej efektywnych i najczęściej stosowanych Szybko zbieżny, o niewielkiej złożoności obliczeniowej i prostej implementacji Oparty na rozwiązaniu nieliniowego problemu najmniejszych kwadratów

Algorytm Levenberga-Marquardt a Zastąpienie hesjanu w optymalizacji newtonowskiej jego przybliżeniem Dodanie czynnika regularyzacyjnego Założenie kwadratowej funkcji błędu:

Algorytm Levenberga-Marquardt a Dla wektora residuów gdzie

Algorytm Levenberga-Marquardt a Można zapisać jakobian:

Algorytm Levenberga-Marquardt a Dla kwadratowej funkcji błędu gradient wyrazić można za pomocą jakobianu jako:

Algorytm Levenberga-Marquardt a Przyjmuje się przybliżenie hesjanu zależnością: gdzie u jest czynnikiem regularyzacyjnym. Otrzymujemy przyrost wag:

Algorytm Levenberga-Marquardt a Czynnik regularyzacyjny u jest funkcją postępu procesu uczenia Początkowo jest dużo większy od wartości własnych macierzy by ze zmniejszaniem się błędów dążyć do zera Początkowo alg. największego spadku, później alg. Gaussa-Newtona o kwadratowej zbieżności

Algorytm gradientów sprzężonych Algorytm gradientów sprzężonych (conjugated gradients) rezygnuje z informacji o hesjanie Jeden z najszybszych i najbardziej efektywnych algorytmów drugiego rzędu Zbieżność zbliżona do liniowej, niewielkie wymagania co do pamięci

Algorytm gradientów sprzężonych Algorytm postuluje tworzenie nowego kierunku tak, by był sprzężony z poprzednią wartością gradientu, oraz, jeśli to możliwe, z poprzednimi kierunkami: Byłoby to jednak mało praktyczne.

Algorytm gradientów sprzężonych Nowy kierunek konstruuje się więc tak, aby zależał od gradientu i poprzedniego kierunku, oraz spełniał warunek ortogonalności:

Algorytm gradientów sprzężonych Metody doboru współczynnika sprzężenia najczęściej wykorzystują gradient, bądź poprzednie kierunki poszukiwań. Jedną z najpopularniejszych jest metoda Polaka- Ribiere a:

Algorytm gradientów sprzężonych Metoda ta wymaga ponownego startu po pewnej liczbie epok ze względu na błędy zaokrągleń W związku z nimi zatracić się mogą właściwości ortogonalności między wektorami

Algorytmy gradientowe - podsumowanie Metody gradientowe stanowią podstawowe narzędzie przy tworzeniu algorytmów uczenia sieci jednokierunkowych Opierają się na strategii wstecznej propagacji błędu Dzielą się na metody pierwszego i drugiego rzędu

Algorytmy gradientowe - podsumowanie Algorytmy pierwszego rzędu stosowane są praktycznie jedynie przy uczeniu on-line Dużo efektywniejsze są algorytmy drugiego rzędu Algorytmy ze stałym współczynnikiem uczenia mają obecnie znaczenie historyczne

Algorytmy gradientowe - podsumowanie Spośród wielkiej różnorodności metod uczenia wśród najpopularniejszych wymienić można algorytmy Levenberga-Marquardt a i gradientów sprzężonych Są one szybkimi algorytmami drugiego rzędu nie wymagającymi obliczania macierzy hesjanu Większość z metod jest bardzo czuła na dobór stałych

Algorytmy gradientowe - podsumowanie Prócz algorytmów czysto gradientowych, istnieją również metody łączące sporą dozę wiedzy heurystycznej z analizą funkcji Sieci jednokierunkowe uczyć można także metodami czysto heurystycznymi lub inteligentnymi (np. alg. genetyczne, symulowane wyżarzanie, etc.)

Sieci o bazach radialnych Inaczej sieci radialne, RBF (radial basis function networks) Zamiast sigmoidalnej, bądź skokowej funkcji aktywacji (f. bazowej) neuronu, funkcja radialna, np. gaussowska Zamiast aproksymacji globalnej lokalna

Sieci o bazach radialnych Wykorzystanie w praktyce idei twierdzenia Covera: problem separowalności wzorców zrzutowany nieliniowo w przestrzeń o większej liczbie wymiarów może być rozwiązany (liniowo separowalny) z większym prawdopodobieństwem, niż przy rzutowaniu w przestrzeń mniej wymiarową

Struktura sieci RBF Budowa: jedna warstwa ukryta, warstwa wyjściowa (stała architektura)

Struktura sieci RBF Ustalona architektura: warstwa neuronów radialnych i sumujący neuron liniowy na wyjściu Funkcje bazowe różne dla poszczególnych neuronów Funkcje bazowe działają na odległościach wejść od centrów bazowych

Sieci RBF Wyjście sieci może zostać zapisane jako: gdzie - pewna norma, np. euklidesowa

Aproksymacja siecią RBF Dla zbioru danych uczących szukamy funkcji: Możemy zapisać aproksymację za pomocą radialnych funkcji bazowych:

Działanie: sieci sigmoidalne contra RBF Neuron sigmoidalny dzieli przestrzeń hiperpłaszczyzną na dwie części Neuron radialny rozciąga hiperpłaszczyznę wokół pewnego centrum (np. punktu danych) Aproksymacja sieciami sigmoidalnymi globalna Aproksymacja sieciami RBF lokalna, wokół centrów (np. superpozycja hiperpłaszczyzn związanych ze wszystkimi danymi uczącymi)

Sieci RBF Neuron sigmoidalny podział liniowy hiperpłaszczyzną Neuron radialny podział kołowy hipersferą

Sieci RBF funkcje radialne Funkcja gaussowska: Funkcja Hardy'ego: Funkcja potęgowa:

Sieci RBF funkcje radialne Uwagi: W typowym przypadku funkcje radialne charakteryzują się kołową symetrią wokół centrum Od doboru parametru dyspersji σ zależy zasięg oddziaływania neuronu

Sieci RBF Przypadek najprostszy - liczba neuronów równa liczbie obrazów uczących Przyjmujemy centra w punktach x Otrzymujemy równanie liniowe względem wag sieci:

Sieci RBF Rozwiązanie równania daje nam parametry sieci Wady: Ilość neuronów jest nadmiarowa, równa ilości próbek Sieć ma słabą zdolność generalizacji (dopasowana do danych uczących) Sieć jest bardzo podatna na błędy w danych

Sieci RBF - uczenie Oczywiście można stosować sieci o mniejszej liczbie neuronów Aproksymacja przy użyciu k funkcji: Należy dobrać centra i wagi

Sieci RBF - uczenie Uczenie znów polegać będzie na minimalizacji funkcji celu Dla normy euklidesowej otrzymujemy kwadratową funkcję błędu:

Sieci RBF - uczenie Zadanie aproksymacji rozwiązujemy minimalizując funkcjonał: L N f = w G x c i= 1 K j= 1 gdzie czynnik stabilizujący j i j di + λ Pf 2 2 Pf 2 =W T G W 0

RBF - uczenie Macierz symetryczna KxK ),c G(c ),c G(c ),c G(c ),c G(c ),c G(c ),c G(c ),c G(c ),c G(c ),c G(c = G K K 2 K 1 K 2 K 2 1 1 K 2 1 2 2 1 1 0

Sieci RBF - uczenie Zdefiniujmy macierz Greena: Dla ustalonych centrów problem znów sprowadza się do rozwiązania układu równań

Sieci RBF - uczenie Rozwiązujemy względem wektora wag: G*w = d (dla lambda=0) Jako, że macierz Greena jest prostokątna, stosujemy jej pseudoinwersję: i obliczamy szukany wektor wag sieci.

Sieci RBF - uczenie Dodatkowy problem różna zmienność funkcji błędu w różnych kierunkach Rozwiązanie wprowadzenie do normy współczynników wagowych:

Sieci RBF - uczenie Jeżeli zdefiniujemy macierz korelacji jako: otrzymamy zmodyfikowaną normę euklidesową:

Sieci RBF dobór parametrów funkcji radialnych Losowy przyjęcie wartości z zakresu obrazów uczących lub wylosowanie centrów spośród nich Dyspersja przyjmowana apriorycznie w zależności od ilości neuronów i odległości między centrami σ= d 2K Własności: rozwiązanie najprostsze, dla nieskomplikowanych problemów stosunkowo efektywne

Co dalej z wagami? Otrzymujemy (pomijając regularyzację) GW = d Gdzie elementy G dane są np. jako: G ij = xi t j exp 2 d / K 2

Co dalej z wagami? Po przekształceniu otrzymujemy jeszcze prostszą postać zależności na elementy G: G ij = N k= 1 exp i xk d j tk / K 2 2 przy czym k to k-ta składowa wektora, i to i-ty wzorzec uczący, a j j-te centrum.

Rozwiązanie Rozkładamy macierz G na iloczyn macierzy ortogonalnych P (pxp) i Q (KxK), oraz T pseudodiagonalnej S: Macierz pseudoodwrotną do G można zapisać jako: przy czym więc G + = Q P T W = G + d G = PSQ 1 1 1 = diag,,,,0,,0 S S S 1 2 K

Dobór parametrów RBF w procesie samoorganizacji Po zaprezentowaniu k-tego obrazu uczącego wybierane jest najbliższe centrum, które podlega aktualizacji WTA: t i (k + 1)= t i (k)+η W wersji skumulowanej tworzy się klastry, których centrum jest średnią wektorów składowych: x k t i (k) t i (k + 1)= 1 N i N i j= 1 x j (k)

Inne rozwiązania Zastosowanie wagowej miary odległości centrum od prezentowanego wzorca (faworyzujemy centra, które rzadko wygrywały) W miarę modyfikacji centrów zmienia się również współczynnik: η0 η(k)= k 1+ T gdzie stałą czasową należy dobrać indywidualnie w zależności od problemu.

Dynamiczny dobór współczynnika uczenia Dobieramy współczynnik uczenia szacując postęp procesu uczenia: t i (k + 1)= t i (k)+m (x i k )η( k) x k t i (k) M i 2 2 xk = 1 dla v x t v x t i k j j k j 0 dla reszty v i (k + 1 )= αv (k)+( 1 α)m (x ) x t i i k k i 2

Miara oceny jakości uczenia Zakładamy, że w stanie optymalnym wszystkie wagi centrów v są równe. Miara jakości podział na klastry w postaci funkcji entropii: H vˆ k v = 1,v K 2 v i= 1 k,,v v i K = K vˆ k= 1 k ln(vˆ k )

Współczynnik uczenia oparty na mierze jakości Dobór współczynnika zależy od postępów procesu uczenia (mierzonych funkcją H) i jest bezpośrednio związany z wartościami wag w każdym kroku: η(k) = H v1,v2,,v 1 ln(k) K

Dobór pola recepcyjnego (dyspersji) funkcji bazowych Pola recepcyjne powinny pokrywać cały obszar danych wejściowych Powinny się na siebie nakładać jedynie nieznacznie (gładkie odwzorowanie) Najprostsze rozwiązanie: odległość euklidesowa od najbliższego sąsiada.

Dobór pola recepcyjnego (dyspersji) funkcji bazowych Można również uwzględnić szersze sąsiedztwo (P najbliższych sąsiadów): σ P 1 j = t j tk P k= 1 2 Zwykle P nie przekracza 3

Sieci RBF dobór parametrów funkcji radialnych Użycie technik samoorganizacji sieci Podział danych na klastry różnymi metodami (np. k-średnich) Dyspersje ustalane w zależności od odległości od najbliższego sąsiada Różne modyfikacje i wariacje na temat metody Bardziej złożony, ale efektywniejszy sposób od doboru losowego

Sieci RBF - podsumowanie Druga z najczęściej stosowanych grupa sieci Sieci jednokierunkowe o ustalonej architekturze (jedna warstwa ukryta) Zamiast skokowych funkcji aktywacji neuronów, funkcje radialne Funkcje bazowe o symetrii kołowej zmieniające się wokół pewnego centrum

Sieci RBF - podsumowanie Mogą być stosowane w zadaniach aproksymacji i klasyfikacji nieliniowej (tw. Covera) Aproksymacja jest w praktyce oparta na lokalnej interpolacji Wymagają często mniejszej liczby neuronów niż sieci o sigmoidalnych funkcjach aktywacji

Sieci RBF - podsumowanie Uczenie sieci RBF polega na wyznaczeniu funkcji bazowych (centrów, dyspersji), a następnie na obliczeniu wag warstwy ukrytej Najprymitywniejsze podejście zakłada budowę sieci dokładnie odwzorowującą dane uczące Bardziej efektywne są metody, które pozwalają na stopniowe dodawanie neuronów, aż do osiągnięcia założonego błędu, lub dążące do stworzenia sieci o zadanym rozmiarze

Sieci rekurencyjne W odróżnieniu od sieci jednokierunkowych istnieje sprzężenie zwrotne między wyjściem a wejściem Często symetryczne połączenia między neuronami Duża liczba owych połączeń Opis za pomocą zależności dynamicznych

Sieci rekurencyjne Zmiana stanu jednego neuronu powoduje zmianę stanu wszystkich elementów sieci Zmiana stanu wywołuje stan przejściowy, prowadzący do ustalenia się nowych wartości parametrów i sygnałów w sieci Dla funkcji aktywacji f sygnał wyjściowy neuronu oznacza jego stan:

Sieci rekurencyjne Zmianę stanu neuronów można opisać układem równań postaci: gdzie i=1 N, b jest wartością progową, natomiast tau pewną stałą wartością (analogicznie do opisu układów RC).

Sieci rekurencyjne Stan neuronu uzyskujemy na podstawie rozwiązania równania różniczkowego jako y=f(u) Dla danego stanu pobudzenia neuronów można przyporządkować sieci funkcję energetyczną Lapunowa daną wzorem: E = 1 2 1 w ij yi y j + fi (yi )dyi + j i,i j N 1 R x i i= 1 i 0 i= 1 N b i y i

Sieci rekurencyjne Funkcja Lapunowa maleje w funkcji stanu pobudzenia neuronów W związku z tym zmiana stanu pojedynczego neuronu powoduje zmianę stanu energetycznego całej sieci Energia sieci maleje aż do osiągnięcia minimum (lokalnego) funkcji energetycznej Sieci o symetrycznych powiązaniach między neuronami nie mogą oscylować

Sieci Hopfielda (Hopfield 1982) Ze względu na zastosowania nazywana również pamięcią asocjacyjną Zwykle przedstawiana jako układ z bezpośrednim sprzężeniem od wyjść do wejść sieci

Sieć Hopfielda Wyjścia sieci stanowią jednocześnie jej sygnały wejściowe Brak jest sprzężenia neuronu z jego własnych wyjściem Zadaniem sieci jest zapamiętanie elementów ciągu uczącego tak, aby w trybie odtwarzania układ wygenerował dla zadanego wzorca jeden z wcześniej zapamiętanych elementów

Sieć Hopfielda Sieć powinna wygenerować jeden z zapamiętanych obrazów nawet jeśli prezentowany jej wzorzec różni się od niego nieznacznie W tym celu wprowadza się odpowiednią metrykę, która umożliwi zbadanie odległości prezentowanego wzorca od obrazów wcześniej zapamiętanych

Sieć Hopfielda Dla wektorów o składowych binarnych można zdefiniować tzw. odległość Hamminga daną jako: d H = n i= 1 x 1 y + 1 x Odległość Hamminga równa jest więc liczbie bitów różniących te dwa wektory Będzie ona równa zero jedynie dla y=x i i i y i

Sieć Hopfielda Proces uczenia ma więc za zadanie taki dobór wag, aby na etapie odtwarzania sieć mogła wygenerować obraz najbliższy w sensie miary Hamminga prezentowanemu wzorcowi Podczas uczenia ustalane są obszary przyciągania (atraktory) punktów odpowiadających danym uczącym

Działanie sieci Dwa tryby: tryb uczenia (ustalania wag) sieci, oraz tryb odtwarzania (działania) Przy przyjęciu skokowej funkcji aktywacji (signum) sygnał wyjściowy neuronu można zapisać jako: Można więc opisać sieć: y i N = sgn w j= 0 z warunkiem początkowym y i N ij x j j y 0 + b k = sgn w y k 1 j= 1, i j ij j = i x j

Działanie sieci Jeżeli w procesie uczenia bierzemy pod uwagę tylko jeden wzorzec uczący, proces uczenia będzie trwał dopóki zależność nie będzie spełniona dla wszystkich neuronów Otrzymamy rozwiązanie dla: ponieważ (bo x*x=1)

Działanie sieci Dla p elementów ciągu uczącego otrzymujemy aktualizację wag wg uogólnionej reguły Hebba: a więc wagi przyjmują uśrednione wartości elementów ciągu.

Działanie sieci - stabilność Gdy wzorców uczących jest wiele, istotne staje się zapewnienie stabilności działania Aby sieć działała stabilnie, odpowiedź i-tego neuronu na l-ty wzorzec musi być równa i-tej składowej wzorca Otrzymujemy więc warunek:

Stabilność sieci Zapiszmy sumę ważoną sygnałów wejściowych i-tego neuronu: u (l) i = x (l) i 1 + N j= 0 k l Pierwszy składnik to pożądany czynnik x, natomiast reszta to tzw. składnik przesłuchu Składnik przesłuchu musi być na tyle mały, aby nie zmienił znaku x N Nawet dla niezerowego przesłuchu proces klasyfikacji może zakończyć się we właściwym atraktorze x (k) i x (k) j x (l) j

Pojemność pamięci asocjacyjnej Pojemność pamięci maksymalna liczba wzorców zapamiętanych i odtwarzanych z zadanym akceptowalnym błędem Dla błędu rzędu 1% bitów w niewłaściwym stanie, pojemność pamięci wynosi 18.5% liczby neuronów (przy założeniu, że początkowy błędny stan jednego z nich nie wpływa na inne neurony) W rzeczywistości, maksymalna pojemność to zaledwie 13.8% liczby neuronów

Uczenie sieci Hopfielda Uczenie ma na celu znalezienie takich wag, dla których w fazie odtworzeniowej przy prezentacji wektora bliskiego zapamiętanemu, sieć znajdzie się w stanie ustalonym Najprostsza metoda uczenie regułą Hebba: W = 1 N XX Metoda mało efektywna, przy istnieniu szumu wiele błędów (minima lokalne dalekie od rozwiązania)

Uczenie sieci Hopfielda Metoda pseudoinwersji (rzutowania) każdy wzorzec podany na wejście powinien generować siebie samego i prowadzić do natychmiastowego stanu ustalonego: Jednym z rozwiązań układu Np równań jest: (X + - pseudoinwersja) Dla wektorów liniowo niezależnych można uprościć do: (metoda rzutowania zwykła inwersja macierzy kwadratowej)

Uczenie sieci Hopfielda Dla metody rzutowania zastosować można również wersję iteracyjną, nie wymagającą obliczania odwrotności macierzy Dla warunku początkowego W(0)=0, po jednokrotnej prezentacji wzorców otrzymujemy: Pojemność sieci wzrasta i wynosi: N-1

Uczenie sieci Hopfielda Metoda rzutowania delta (gradientowa metoda - minimalizacja odpowiedniej funkcji celu) Dobór wag rekurencyjny w w+η / N x i wx i x i T Metoda ta wymaga wielokrotnej prezentacji wszystkich wzorców uczących

Tryb odtwarzania sieci Hopfielda Gdy sieć zostanie nauczona jej wagi nie ulegają dalszym modyfikacjom Na wejście podajemy wektor testowy x (y(0)=x) i obliczamy iteracyjnie wyjście sieci: y i= sgn Wy i 1 aż do ustalenia się odpowiedzi. Istnieje też metoda sekwencyjna, w której obliczenia przeprowadza się dla losowo wybranych neuronów (mniejsza złożoność)

Tryb odtwarzania sieci Hopfielda Obliczanie wyjścia iteracyjny, długotrwały proces Niebezpieczeństwa: częste osiąganie niewłaściwych punktów równowagi te same wartości funkcji energetycznej dla przeciwnych stanów polaryzacji (np. stany (1, -1, 1) i (-1, 1, - 1) mają tę samą energię) Mieszanie składowych zapamiętanych wzorców, minima lokalne, pośrednie minima lokalne, nie wynikające z żadnych wzorców

Implementacja sprzętowa sieci Hopfielda Punkt wyjścia opis równaniem różniczkowym: Schemat neuronu:

Sieć Hamminga (Lippmann, 1987) Zasada działania: minimalizacja odległości Hamminga wektora testowego od wektora reprezentującego wzorce uczące, zakodowane w strukturze sieci Budowa: trójwarstwowa struktura rekurencyjna

Sieć Hamminga budowa Warstwa pierwsza jednokierunkowa, bez sprzężenia, skokowa aktywacja (0-1) Warstwa druga, MAXNET: neurony sprzężone każdy z każdym (również z własnym wyjściem) Wagi warstwy MEXNET stałe, pomiędzy różnymi neuronami gaszące, pomiędzy wyjściem a neuronem równe +1 Warstwa wyjściowa jednokierunkowa, reprezentuje wektor wyjściowy

Uczenie sieci Hamminga Wzorce uczące wektory N-wymiarowe z wartości -1 lub +1 Pierwsza faza uczenia: prezentujemy wzorzec uczący tak długo, aby neurony pierwszej warstwy ustaliły swoje wyjścia (wejście MAXNETu) Druga faza: rozpoczyna się proces iteracyjny w MAXNET tak długo, aż wszystkie wektory poza jednym osiągną stan 0 Neuron o niezerowym wyjściu zwycięża oznacza klasę wektora wejściowego

Uczenie sieci Hamminga Pamięć heteroasocjacyjna pamięta pary wektorów (we/wy) Węzły wejściowe przyjmują wartości kolejnych wektorów uczących Neurony warstwy pierwszej określają odległość Hamminga między wektorem testowym a każdym zapamiętanym Warstwa MAXNET wykrywa najmniejszą odległość Warstwa wyjściowa odtwarza wektor wyjściowy dla danej klasy

Działanie sieci Hamminga Pojemność pamięci jest równa ilości neuronów warstwy wejściowej (każdy neuron reprezentuje jedną klasę) Inicjalizacja wag: wagi warstwy pierwszej reprezentują kolejne wzorce uczące, wagi warstwy wyjściowej kolejne wektory wyjściowe z c. uczącego W warstwie MAXNET inicjalizacją wzmacnia się sygnał danego neuronu i osłabia sygnały pozostałych

Działanie sieci Hamminga Inicjalizacja warstwy MAXNET: w (m) ii = 1 1 < w p 1 < 0 Wagi powinny różnić się między sobą, można więc przyjąć: w (m) ij = gdzie p jest ilością neuronów w pierwszej warstwie, phi wartością losową o niewielkiej amplitudzie (m) ij 1 +φ p 1

Działanie sieci Hamminga Na początku wartości wszystkich węzłów układu są zerowe (prócz wejścia) Neurony warstwy wejściowej przyjmują sygnały wyjściowe: (dh odległość Hamminga) Następnie usuwa się pobudzenie a warstwie MAXNET zachodzi iteracyjny proces obliczeń:

Działanie sieci Hamminga Proces ten jest powtarzany do ustalenia się wartości wszystkich neuronów (jeden aktywny, pozostałe w spoczynku) Neuron aktywny zostaje zwycięzcą i poprzez zestaw wag wyjściowych odtwarza odpowiedni wektory na wyjściu

Sieć Hamminga - podsumowanie Zwykle daje lepsze rezultaty niż sieć Hopfielda Potrzebuje mniej wag: dla sieci o 100 wejściach kodującej 10 wektorowych klas, sieć Hopfielda wymaga 10000 wag, natomiast sieć Hamminga 1000 wag w warstwie pierwszej i 100 w warstwie MAXNET (bez warstwy wyjściowej - autoasocjacja) Pojemność sieci 2 cp, c<1

Sieci BAM (Bidirectional Associative Uogólnienie struktury Hopfielda na dwuwarstwową sieć rekurencyjną Umożliwia zakodowanie par wektorów We/Wy Memory, Kosko 1988) Przepływ sygnałów dwukierunkowy, tryb pracy synchroniczny

Sieci BAM Skokowa funkcja aktywacji neuronów (0 i 1 lub -1 i 1) Wejściowe wektory binarne muszą być zakodowane jako bipolarne (-1, 1) Macierz wag jest niesymetryczna, określa przepływ sygnałów w jedną stronę jako W, w drugą jako W T Macierz W określa się jako macierz korelacji dla danych uczących:

Sieci BAM Zaczynając od pary sygnałów początkowych (x 0, y 0 ) następuje dwukierunkowy proces przetwarzania sygnałów: najpierw od wejścia do wyjścia, potem odwrotnie:

Sieci BAM W końcu generowane są na wyjściu wartości odpowiadające stanowi ustalonemu sieci BAM Dla każdego punktu procesu ustalania wag zapisać można funkcję energetyczną: Każda kolejna zmiana wag powoduje zmniejszenie wartości funkcji energetycznej

Sieci BAM W skończonej ilości kroków osiągane jest minimum lokalne: Każde inne rozwiązanie, nawet odległe o 1 w sensie odległości Hamminga będzie gorsze Niestety, nie zawsze otrzymany punkt stabilny równy jest parze uczącej najbliższej stanowi początkowemu (muszą zajść dodatkowe warunki)

Sieci BAM Wykazano, że jeśli energia stowarzyszona z i-tą parą uczącą nie tworzy minimum lokalnego, to nie może być ona odtworzona (nawet, gdy przyjmiemy równe jej wartości początkowe) Jeśli obrazy uczące są niepodobne do siebie w sensie odległości Hamminga (np. podobne wejścia, różne wyjścia), to sieć działa źle

Problem błędy w danych związane z procesem akwizycji, przetwarzania, wstępnej analizy mogą być wynikiem różnego rodzaju szumów, błędów urządzeń, błędów człowieka typowa zawartość grubych błędów w rzeczywistych przypadkach kilka procent; zawartość w naukach opisowych (medycyna) do 20% mogą być systematyczne (proste do identyfikacji), lub trudne do wykrycia i zidentyfikowania

Błędy grube: różnią się znacznie od większości danych nieprawdziwe staję się założenie o normalności rozkładu błędów nieskuteczne stają się również tradycyjne metody statystyczne

Dane odstające: dane różniące się znacznie od ogółu danych (nieścisła definicja) mogą być błędami grubymi lub nieść informacje na temat zjawiska istnieją statystyczne metody pomagające je wykrywać

Odporna statystyka (robust statistics) zajmuje się sytuacjami, w których założenia tradycyjnej statystyki nie są spełnione bada skuteczność istniejących metod przy różnych założeniach proponuje nowe, lepsze (odporniejsze) metody statystyczne oraz ich aplikacje

Odporna statystyka Pierwsze prace z dziedziny odpornej statystki datują się na połowę lat 60. ubiegłego stulecia Skuteczne algorytmy obliczeniowe odpornych estymatorów powstawać zaczęły w latach 80. Pierwsze próby zastosowania osiągnięć tej dziedziny do praktyki uczenia sieci neuronowych miały miejsce pod koniec lat 90. XX wieku Rozwój zarówno odpornej statystyki, jak i metod uczenia z nią związanych trwa do dziś

Główne postulaty odpornej statystyki odporność metod statystycznych na dane słabej jakości, niepełne, zawierające błędy grube, etc. prawidłowe działanie odpornych metod dla czystych danych

Wybrane odporne estymatory RM (Siegel, 1982) LMS (Rosseeuw, 1984) S (Rousseuw i Yohai 1984) MAD (Martin, Yohai, Zamar 1989) -estymatory (Yohai i Zamar 1998) W, L, R, i inne

Uczenie sieci neuronowych a błędy grube: metody uczenia sieci dedykowane są dla danych o gaussowskim rozkładzie błędów sieć ucząc się na błędnych danych modeluje nieprawidłową relację model tworzony przez sieć może być daleki od żądanego działanie tak nauczonej sieci jest nieprzewidywalne, bez względu na rodzaj danych, na których pracuje

Wybrane odporne algorytmy uczenia sieci RBP w zadaniu aproksymacji funkcji (Chen i Jain, 1994) Próby uodpornienie algorytmu uczenia dla RBF (Sanchez, 1995) Algorytm z kryterium Lmls (Liano, 1996) ARBP (Chuang, 2000) TAO (Pernia-Espinoza et al., 2005)

Odporne algorytmy uczenia sieci (literatura): przeznaczone są do uczenia sieci jednokierunkowych (najczęściej sigmoidalnych) opierają się zwykle na modyfikacji funkcji kryterialnej minimalizowanej przez algorytm działają przy stosunkowo ostrych ograniczeniach i biorą pod uwagę jedynie pewne rodzaje zakłóceń

Odporne algorytmy uczenia sieci postulaty: algorytmy powinny uczyć sieć prawidłowo dla danych czystych powinny uczyć sieć możliwie dobrze również w przypadku obecności w danych różnych typów dużych zakłóceń mechanizmy uodporniające proces uczenia powinny być wkomponowane w sam algorytm uczenia

Signal Plus Error Model Klasyczne podejście do modelowania danych z zakłóceniami przedstawia się następująco: y i R oznacza odpowiedź układu na wejście x i R p, g - jest pewną określoną funkcją, - wektorem parametrów rozkładu, - parametrem dyspersji, - oznacza szum lub losowe zakłócenia.

Modele błędów w danych Typ 1: Zakłócenia modelowane są jako suma dwóch rozkładów normalnych o różnych wariancjach i zerowej wartości oczekiwanej (Gross Error Model). Typ 2: Zakłócenia modelowane są jako suma kilku rozkładów o różnych wariancjach i wartościach oczekiwanych (zakłócenia niesymetryczne). Typ 3: Zakłócenia symulowane są zastąpieniem połowy danych jednorodnym szumem tła. Typ 4: Zakłócenia typu 1 wprowadzane są do wektora wejściowego.

Błędy typu 1: Gross Error Model Rozkład zakłóceń ma następującą postać:

Błędy typu 2: o rozkładzie niesymetrycznym Rozkład zakłóceń jest postaci:

Błędy typu 3: brak części danych połowa danych zastąpiona zostaje jednorodnym szumem tła Błędy typu 4: błędy w wektorze wejściowym błędy w wektorze wejściowym generowane podobnie jak dla typu 1

Minimalizowana funkcja kryterialna (funkcja błędu) Najczęściej używa się funkcji kwadratowej: Ogólnie można użyć funkcji: a więc w szczególności

Współczynnik uczenia W najprostszej wersji współczynnik uczenia jest stały: więc zmiana wag odbywa się zawsze proporcjonalnie do niego.

Celem klasycznego algorytmu uczenia jest minimalizacja funkcji kosztu (cost function) postaci: E = N i= 1 gdzie funkcja błędu ciągła i symetryczna, r i = t i y i,( błąd dla obrazu uczącego i), N ilość obrazów uczących. 1 N ρ r i

Gdy w jest modyfikowanym wektorem parametrów (wag sieci) można obliczyć pochodną: E = w 1 N r r i w Wtedy funkcję definiowaną jako: ψ r i = N i= 1 ρ r ψ r Nazywamy funkcją wpływu (influence function). i i i

W najogólniejszej postaci odpornego algorytmu uczenia funkcję kosztu definiuje się następująco: E R = N = gdzie: i 1 ( ) funkcja strat, symetryczna, posiadająca swe jedyne minimum w zerze; estymator skali, punkt odcięcia; e i szacowany błąd dla i-tego obrazu uczącego; N ilość danych uczących. σ e i, β

Przy zastosowaniu algorytmu uczenia opierającego się na minimalizacji w kierunku malejącego gradientu, aktualizacja wag odbywa się w następujący sposób: przy czym: - stały współczynnik uczenia; oraz: N = i j i i j R j w e ; β e η = w E η = Δw 1 i i i e ; β e = ; β e

Cechy tej metody uczenia mniejszy, niż w przypadku algorytmu klasycznego wpływ błędów grubych na rezultaty uczenia sieci problemy, m.in. z wyborem wag początkowych, czy też funkcji sugeruje się zastosowanie wersji klasycznej w kilku pierwszych epokach

Algorytm LTS funkcja kryterialna oparta na odpornym estymatorze LTS (least trimmed squares) dwa warianty algorytmu przeznaczony do stosowania przy uczeniu skumulowanym, metodami pierwszego lub drugiego rzędu

Estymator LTS Estymator Lts zapisać można jako:

Zastosowanie na gruncie sieci neuronowych

Wyjście drugiej warstwy sieci:

Kryterium LTS Nowa funkcja kryterialna przyjmuje postać:

Aktualizacja wag Dla metody największego spadku przyrosty wag wynoszą:

Problem postać gradientu Dla opisanego przyrostu wag

Problem: dobór stałej trymowania h h dobierane na podstawie wiedzy a priori h dobierane na podstawie aktualnych błędów jako:

Algorytm Ltls (Least Trimmed Log Squares) nowa funkcja kryterialna połączenie idei przycinania błędów z funkcją kary zasada działania analogiczna do Lts

Kryterium Ltls Otrzymuje się analogiczne do Lts funkcję kryterialną i przyrosty wag:

Gradient Ltls Otrzymujemy, podobnie jak poprzednio, gradient dany jako:

Algorytm ze zmiennym współczynnikiem uczenia VLR (variable learning rate) algorytm dla metod uczenia typu on-line niwelowanie wpływu błędów grubych przez zmiany współczynnika uczenia współczynnik uczenia modyfikowany w zależności od aktualnego błędu

Zmiana wag wg największego spadku

Modyfikacja współczynnika dla każdego obrazu uczącego:

Odporny algorytm z adaptacyjnym doborem współczynnika uczenia ALR (adaptive learning rate) algorytm dedykowany do uczenia typu skumulowanego (batch learning) możliwość użycia z metodami uczącymi drugiego rzędu współczynnik uczenia odpowiada za zmniejszanie wpływu błędów grubych

W każdym kroku algorytmu dobiera się współczynnik uczenia za pomocą minimalizacji funkcji celu po wartościach zależnego od błędu współczynnika uczenia:

Algorytm ze zmienną funkcją aktywacji neuronów ATF (adaptive transfer function) kształt funkcji aktywacji neuronów jest zmienny w czasie jego zmiany odpowiadają za zmniejszanie wpływu błędów grubych na proces uczenia przeznaczony do uczenia skumulowanego również z algorytmami drugiego rzędu

Parametr funkcji aktywacji neuronów zmienia się w zależności od postępów procesu uczenia

Odporny algorytm drugiego rzędu dedykowany dla kryterium Lmls algorytm drugiego rzędu do uczenia sieci przy założeniu funkcji błędu postaci Lmls szybciej zbieżny od metody największego spadku prosty obliczeniowo

Algorytmy gradientowe opierają się o rozwinięcie funkcji celu w szereg wokół rozwiązania:

W algorytmach drugiego rzędu bierze się pod uwagę pierwsze dwie pochodne, a więc:

Definiuje się macierz Jakobianu jako:

Oblicza się dokładną wartość gradientu i przybliżoną hesjanu i na ich podstawie definiuje krok algorytmu Levenberga-Marquardta:

Definiujemy nową odporną funkcję błędu, oraz macierz q:

Na tej podstawie obliczyć można gradient, oraz definiując macierz JQ przybliżoną wartość hesjanu:

Algorytm z ważoną funkcją celu Wlmls informacja o danych uczących odbiegających od większości przekazywana jest do algorytmu uczenia poprzez wprowadzenie ważonej funkcji celu wagi zmniejszają wpływ danych uznanych za błędy grube stosowanie z algorytmami typu batch

Odporny estymator MCD polega na znalezieniu określonej wielkości zbioru danych, dla którego macierz kowariancji ma najmniejszy wyznacznik. Na tej podstawie oblicza się odległości poszczególnych punktów od centrum.

W algorytmie uczenia tworzy się wektor ze wszystkich elementów ciągu uczącego, następnie na podstawie wyznaczonych wcześniej odległości, oblicza się poszczególne wagi, które uzupełniają definicję funkcji błędu:

Nowe rozwiązania Least Median of Squares (El-Melegy, M.T., Essai, M.H., Ali, A.A.) 2009 RANSAC (El-Melegy) in press LTA

Sieci samoorganizujące się Koherencja i kolektywność Pierwsze sieci samoorganizujące się, tzw. sieci Kohonena (Kohonen, 1982) W sieciach tych występuje najczęściej uczenie oparte na współzawodnictwie neuronów (typu konkurencyjnego) Neuron wygrywający ma szanse na aktualizację swych wag

Sieci Kohonena Neurony reprezentowane mogą być wektorami wag w przestrzeni wzorców wejściowych Neuron zwyciężający ma więc szansę przybliżyć się do wzorca mu najbliższego (w danej metryce) Docelowo sieć tworzy topologiczny obraz przestrzeni sygnałów wejściowych

Sieć Kohonena (SOM Self Organizing Feature Map) Sieć uczona bez nauczyciela Dane uczące składają się jedynie z wektorów wejściowych W najprostszej postaci sieć jednokierunkowa, każdy neuron połączony z każdym wejściem Wejście znormalizowane:

Sieci Kohonena Po prezentacji obrazu wejściowego, rywalizację wygrywa neuron najbliższy mu według zadanej metryki Następnie neuron zwyciężający i neurony z jego sąsiedztwa aktualizują wagi: (wsp. zależny od odległości)

Uczenie sieci Kohonena Otrzymujemy więc algorytm uczenia: W klasycznym algorytmie definiowano G jako: Lepsze rezultaty:

Sąsiedztwo na podstawie topologii sieci Sąsiedztwo określać można również na podstawie budowy sieci

Miary odległości Euklidesowa: Il. skalarny: Mahalanobisa: L1 i L :

Miary odległości Dla miary Euklidesowej otrzymujemy podział przestrzeni na wieloboki Voronoia przestrzeń wokół punktów centralnych to strefy dominacji neuronów Iloczyn skalarny (b) bez normalizacji może skutkować niespójnym podziałem przestrzeni Rozwiązanie normalizacja (istotna jedynie dla małych wymiarów sieci)

Wieloboki Voronaia Obszary Voronaia definiuje się jako: Np. dla normy Euklidesowej otrzymujemy wypukłe wieloboki:

Algorytm z mechanizmem zmęczenia Podstawa obserwacja biologiczna: neuron ma skończony czas relaksacji Założenie dać szansę neuronom, które nie wygrały procesu współzawodnictwa Wprowadza się dla każdego neuronu potencjał dany jako: p i p k + 1= p k Neuron, którego potencjał spadnie poniżej pmin odpoczywa i i k 1 + n p min dla dla i w i = w

Uczenie z wymuszeniem Metoda autoasocjacji: (z krytykiem) Przyrostowej autoasocjacji: Metoda zbliżania wag:

Algorytm gazu neuronowego Swobodne neurony mogące przemieszczać się w przestrzeni wag Analogia do dynamiki cząsteczek gazu Neurony sortuje się w zależności od ich odległości od wektora wejściowego Siła adaptacji wag (przesunięcia neuronów) zależy od ich odległości od wzorca

Algorytm gazu neuronowego Neurony są sortowane niemalejąco w zależności od ich odległości od wektora wejściowego Wartość funkcji sąsiedztwa zapisuje się jako: m i λ Gi,x= e gdzie m oznacza pozycję neuronu uzyskaną w wyniku sortowania, lambda odpowiada za określenie promienia sąsiedztwa neuronu

Algorytm gazu neuronowego Proces powinien rozpoczynać się od dużej wartości lambda, która powinna maleć w nieskończoności do zera: max λ min λ k = λ max λ max Współczynnik uczenia dla każdego neuronu również powinien maleć w czasie: k / k max η min ηi k = ηi 0 ηi 0 k / k

Logika rozmyta Rozszerzenie klasycznej logiki dwu- lub więcejwartościowej do logiki o ciągłym zbiorze wartości Opracowana przez profesora Lotfi Zadeha w latach 60. Powiązana z teorią zbiorów rozmytych Stosowana w systemach sterowania, automatyki, do detekcji elementów obrazu, etc.

Zbiory rozmyte Rozszerzenie klasycznej teorii zbiorów uwzględniające możliwość częściowej przynależności do zbioru Funkcja przynależności przyjmować może wartości z ciągłego zbioru [0,1], a nie jedynie wartości 0 lub 1 Wartości funkcji traktować można jako opis stopnia prawdziwości stwierdzenia, że element należy do zbioru

Zbiór rozmyty - definicja Zbiorem rozmytym na przestrzeni X (będącej klasycznym zbiorem) nazywamy zbiór uporządkowanych par: gdzie funkcją przynależności do zbioru. jest

Funkcja przynależności Dla funkcji przynależności zachodzi:

Zbiór rozmyty - definicje Nośnik zbioru (support) Rdzeń zbioru (core) Wysokość zbioru (height)

Zbiór rozmyty - definicje Wypukły zbiór rozmyty Alfa-cięcie zbioru rozmytego

Logika rozmyta (fuzzy logic) Jest pewnym rozszerzeniem, choć nie uogólnieniem logiki wielowartościowej Dopuszcza ciągły zbiór wartości Może być traktowana jako zastosowanie teorii zbiorów rozmytych Różni się znacząco od teorii prawdopodobieństwa, nie jest jej uogólnieniem

Logika rozmyta Umożliwia opisywanie świata ze stopniowaniem, np. bardzo, trochę, wcale, etc. Pozwala na formalny zapis niepewności rozumianej jako niepełny opis sytuacji Rozmywaniu mogą uleć nie tylko funkcje przynależności określone na predykatach logicznych, ale i cały sposób wnioskowania

Logika rozmyta formalnie Funkcja przynależności przekształcająca predykaty logiczne w uporządkowany zbiór par rozmytych:

Zastosowania - przykład Kontrola systemu ABS

Operatory logiczne W logice rozmytej operatory logiczne AND, OR i NOT definiowane są zwykle jako minimum, maksimum i dopełnienie, a więc:

Schemat kontrolera rozmytego

Wyostrzanie Proces przedstawienia wyników działania logiki rozmytej w sposób możliwy do późniejszego wykorzystania Zwykle wynik działania systemu rozmytego opisany jest jako przynależność do zbiorów rozmytych możliwych działań Rolą wyostrzania jest przetłumaczenie tego na konkretne działanie

Wyostrzanie podstawowe metody Metoda maksimum: Metoda środka ciężkości: Metoda średnich wartości centrów: