Uczenie z nauczycielem. Przykładowy zbiór uczący. Istota algorytmu uczenia Schemat uczenia sieci neuronowej

Podobne dokumenty
Ogólna idea procesu uczenia. Najważniejszy element wiedzy o sieciach neuronowych uczenie sieci. Uczenie z nauczycielem

Najważniejszy element wiedzy o sieciach neuronowych. uczenie sieci

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

Jakość uczenia i generalizacja

Projekt Sieci neuronowe

Testowanie modeli predykcyjnych

Sztuczna Inteligencja Tematy projektów Sieci Neuronowe

Zastosowania sieci neuronowych

Sieci neuronowe w Statistica

Uczenie sieci typu MLP

Optymalizacja ciągła

Inteligentne systemy decyzyjne: Uczenie maszynowe sztuczne sieci neuronowe

Widzenie komputerowe

Wstęp do sieci neuronowych, wykład 13-14, Walidacja jakości uczenia. Metody statystyczne.

Sieci neuronowe w Statistica. Agnieszka Nowak - Brzezioska

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

Podstawy Sztucznej Inteligencji (PSZT)

Wstęp do sieci neuronowych, wykład 09, Walidacja jakości uczenia. Metody statystyczne.

Oprogramowanie Systemów Obrazowania SIECI NEURONOWE

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

Uczenie się pojedynczego neuronu. Jeśli zastosowana zostanie funkcja bipolarna s y: y=-1 gdy z<0 y=1 gdy z>=0. Wówczas: W 1 x 1 + w 2 x 2 + = 0

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

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

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

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

Temat: Sieci neuronowe oraz technologia CUDA

Metody Sztucznej Inteligencji II

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

Instrukcja realizacji ćwiczenia

SIEĆ NEURONOWA DO OCENY KOŃCOWEJ PRZEDSIĘWZIĘCIA (PROJEKTU)

Obliczenia neuronowe. (wprowadzenie) Ryszard Tadeusiewicz Laboratorium Biocybernetyki Katedra Automatyki AGH

SZTUCZNA INTELIGENCJA

Elementy inteligencji obliczeniowej

METODY INŻYNIERII WIEDZY

KADD Minimalizacja funkcji

Eksploracja danych OCENA KLASYFIKATORÓW. Wojciech Waloszek. Teresa Zawadzka.

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

Uczenie sieci radialnych (RBF)

6. Perceptron Rosenblatta

wiedzy Sieci neuronowe

ALGORYTM RANDOM FOREST

Klasyfikacja LDA + walidacja

Zmienne zależne i niezależne

Przykładowe funkcje przejścia używane przy budowie sztucznych neuronów

SIEĆ NEURONOWA DO OCENY KOŃCOWEJ PRZEDSIĘWZIĘCIA (PROJEKTU)

ALGORYTMY SZTUCZNEJ INTELIGENCJI

Wprowadzenie do analizy korelacji i regresji

Stan dotychczasowy. OCENA KLASYFIKACJI w diagnostyce. Metody 6/10/2013. Weryfikacja. Testowanie skuteczności metody uczenia Weryfikacja prosta

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

Statystyka w pracy badawczej nauczyciela Wykład 4: Analiza współzależności. dr inż. Walery Susłow walery.suslow@ie.tu.koszalin.pl

Podstawy Sztucznej Inteligencji

ZADANIA OPTYMALIZCJI BEZ OGRANICZEŃ

Metody klasyfikacji i rozpoznawania wzorców. Najważniejsze rodzaje klasyfikatorów

WYKŁAD 9 METODY ZMIENNEJ METRYKI

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.

Metody numeryczne I Równania nieliniowe

Techniki Optymalizacji: Stochastyczny spadek wzdłuż gradientu I

Analiza składowych głównych. Wprowadzenie

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

Lekcja 5: Sieć Kohonena i sieć ART

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

Systemy pomiarowo-diagnostyczne. Metody uczenia maszynowego wykład I dr inż. 2015/2016

Elementy modelowania matematycznego

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

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

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

SYSTEMY UCZĄCE SIĘ WYKŁAD 10. PRZEKSZTAŁCANIE ATRYBUTÓW. Dr hab. inż. Grzegorz Dudek Wydział Elektryczny Politechnika Częstochowska.

Aproksymacja funkcji a regresja symboliczna

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

Kombinacja jądrowych estymatorów gęstości w klasyfikacji - zastosowanie na sztucznym zbiorze danych

Optymalizacja ciągła

ZACHODNIOPOMORSKI UNIWERSYTET TECHNOLOGICZNY W SZCZECINIE

Sztuczne sieci neuronowe

Sztuczne sieci neuronowe. Uczenie, zastosowania

Obliczenia inteligentne Zadanie 4


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

wiedzy Sieci neuronowe (c.d.)

Wprowadzenie do Sieci Neuronowych Laboratorium 05 Algorytm wstecznej propagacji błędu

SIECI REKURENCYJNE SIECI HOPFIELDA

Szukanie rozwiązań funkcji uwikłanych (równań nieliniowych)

Inteligentne systemy decyzyjne: Uczenie maszynowe sztuczne sieci neuronowe

Wybór modelu i ocena jakości klasyfikatora

Rozpoznawanie obrazów

Metoda określania pozycji wodnicy statków na podstawie pomiarów odległości statku od głowic laserowych

ĆWICZENIE 5: Sztuczne sieci neuronowe

ALHE. prof. Jarosław Arabas semestr 15Z

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

5 Błąd średniokwadratowy i obciążenie

R-PEARSONA Zależność liniowa

SIECI RBF (RADIAL BASIS FUNCTIONS)

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

Co to jest grupowanie

Podstawy sztucznej inteligencji

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

METODY INŻYNIERII WIEDZY KNOWLEDGE ENGINEERING AND DATA MINING

Zastosowania sieci neuronowych

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

Analiza korespondencji

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

Transkrypt:

Uczenie z nauczycielem Schemat uczenia sieci neuronowej Postawienie zadania Wzorcowe rozwiązanie zadania Regulowanie parametrów sieci Ocena błędu uczenie jest to w istocie iteracyjny proces estymacji optymalnych wartości parametrów sieci; początkowe wartości tych parametrów są zwykle wartościami losowymi; w trakcie uczenia sieci neuronowej prezentowane są przypadki uczące i w zależności od oceny reakcji sieci modyfikowane są jej parametry (najczęściej wagi synaptyczne). Proces ten jest powtarzany wielokrotnie aż do uzyskania przez sieć wymaganego stopnia nauczenia Sieć wymagająca uczenia Rozwiązanie zadania przez uczoną sieć Ewa korekta błędu Jan Przykład tworzenia zbioru uczącego 2006 T=7 Dane źródłowe Przykładowy zbiór uczący 2005 T=6 2004 T=5 235 (zagrożone) 1/3 (144) 2003 T=4 2002 T=3 Losowanie 235 (dobre) Zbiór zrównoważony 470 Losowanie 2/3 (326) 2001 T=2 2000 T=1 Liczba przypadków: 2731 (T) podzbiór testujący (L) podzbiór uczący Istota algorytmu uczenia 1

Na procesy pamięciowe duży wpływ mają zapewne receptory NMDA, spotykane w strukturach hipokampa aktywowane przez kwas N-metylo-D-asparaginowy Mechanizmy biochemiczne zaangażowane w proces zapamiętywania wiedzy są raczej skomplikowane Wielkość błędu popełnianego przez sieć E sieć popełnia taki duży błąd Dla uczenia sztucznych sieci neuronowych cała ta skomplikowana wiedza biochemiczna nie jest konieczna, bo praktyczne metody uczenia sieci oparte są na prostej intuicji: poszukiwania minimum funkcji błędu sieć popełnia taki mały błąd przy takim zestawie wag a przy takim zestawie wag Drugi współczynnik wagowy w 2 Pierwszy współczynnik wagowy w 1 Istota uczenia polega na szukaniu miejsca, w którym błąd jest minimalny waga w 1 Błąd w s w n w w ideal. minimum funkcji błędu waga w 2 Przy optymalizacji Dygresja parametrów sieci nie mamy lepszego kryterium, niż minimalizacja błędu E Trzeba jednak zdawać sobie sprawę, że czasem mniejszej wartości błędu odpowiada gorsze dopasowanie modelu Mała wartość błędu a jednak kiepskie dopasowanie Ta krzywa dosyć dobrze odwzorowuje sporą część danych a wartość błędu duża 2

Przy uczeniu sieci najczęściej błąd wyznaczany na wyjściu sieci musi być rzutowany do wcześniejszych warstw, bo tam też trzeba zmieniać parametry neuronów Ilustracja procesu uczenia w sieci y x x y x Trzeba to robić dla wszystkich elementów uczących Istota procesu uczenia polega na modyfikacji wag połączeń neuronów W wyniku tego sygnał wyjściowy sieci upodabnia się do zbioru uczącego Można to obserwować biorąc pod uwagę zmiany błędu uczenia Przebieg typowej zmiany funkcji błędu w czasie procesu uczenia Czasem wygodniej jest posługiwać się zlogarytmowanymi wartościami błędu uczenia, bo w takiej skali postęp lepiej widać zarówno na początku jak i na końcu procesu uczenia Istota procesu uczenia polega więc na minimalizacji funkcji: Algorytm wstecznej propagacji błędów polega na szukaniu kierunku spadku E i na takim zmienianiu wartości wag w 1, w 2, żeby zmniejszać wartość funkcji błędu w kierunku jej najszybszego spadku Odpowiadająca mu wartość błędu E Kierunek najszybszego spadku błędu Przemieszczenie po powierzchni błędu E = SSE = N ( d i y i ) i= 1 2 Stary (gorszy) wektor wag Migracja w przestrzeni wag Nowy (lepszy) wektor wag 3

Uczenie sieci neuronowej jako wędrówka ślepego kangura szukającego domu Poszukiwanie (i znajdowanie!) minimum funkcji błędu metodą wyznaczania w każdym kolejnym kroku kierunku najszybszego spadku Kangur zna tylko lokalne nachylenie zbocza Jeśli wykona za mały skok to będzie do domu wracał długo Jeśli wykona za duży skok to może wpaść do przepaści Jeśli mu się uda, to może pokonać przeszkody i znacząco się zbliżyć do celu! Problem doboru wartości współczynnika uczenia Zależność przebiegu uczenia od wartości współczynnika uczenia LR (Learning Rate) Zależność przebiegu uczenia od wartości współczynnika momentum M Dla ustabilizowania procesu uczenia stosuje się współczynnik wnoszący bezwładność zwany momentum Lekkie małe saneczki utkną w pierwszym dołku na stoku Rozpędzony masywny bojer ześlizgnie się aż na sam dół! 4

Zmiany współczynników wag w sieci podczas uczenia bez współczynnika momentum (po lewej) i ze współczynnikiem momentum równym 0.5 (po prawej) dla tej samej ilości kroków Powierzchnie błędów bywają dosyć skomplikowane! Momentum przyspiesza i stabilizuje uczenie! Co więcej, powierzchnia taka zmienia się radykalnie wraz ze zmianą struktury sieci! Dlatego proces uczenia może napotykać na różne przeszkody: Pułapką dla procesu uczenia mogą być także długie wąskie wąwozy Przykładowy obraz rzeczywistej powierzchni błędu powstającej przy uczeniu sieci neuronowej. W jednej z dolin kryje się globalne minimum. Tylko w której?! 5

Głównym problemem przy uczeniu są funkcje błędu o wielu ekstremach Bywają zadania, dla których jest tylko jedno ekstremum funkcji błędu. Jego znalezienie jest wtedy łatwe Uwaga: Przy uczeniu sieci interesują nas głównie minima funkcji, ale to się źle rysuje, dlatego będziemy oglądali rozważane funkcje od spodu, gdy minima widać jako maksima Czasem funkcja błędu ma więcej szczegółów topologicznych, ale wśród nich tylko jedno dobrze zarysowane ekstremum Nie jest najgorzej, jeśli z ekstremum globalnym konkuruje tylko jedno ekstremum lokalne o wyraźnie odróżnialnych własnościach Często jednak lokalnych minimów jest wiele, a każde z nich może być pułapką dla procesu uczenia Dla takiej funkcji trafienie podczas uczenia sieci do minimum lokalnego, a nie globalnego, oznacza klęskę! Ekstremum globalne, dobre dopasowanie sieci Ekstremum lokalne, bardzo złe dopasowanie sieci! 6

Ta sama funkcja w postaci mapy pozwala ocenić trajektorie procesu uczenia, która powinna trafić do minimum globalnego W dalszych przykładach będziemy używali funkcji błędu mającej jedno minimum lokalne i jedno globalne Sukces! Niepowodzenie! Oto wykres tej funkcji... oraz jej mapa z poziomicami Wynik uczenia zależy od wyboru początkowych wartości wag (punktu startowego algorytmu) Utknięcie procesu uczenia w pułapce minimum lokalnego wyjaśnia, dlaczego czasem nauczona sieć dopasowuje swoje działanie tylko do części danych Trafione minimum globalne! Trafione minimum lokalne! Jest to ważne dla praktyki, ponieważ podczas uczenia zawsze zagrażają minima lokalne funkcji błędu, w których rozwiązanie problemu jest bardzo niedoskonałe! Minimum lokalne jako pułapka w procesie uczenia Minimum lokalne, oznaczające niedoskonałe dopasowanie sieci do danych Minimum globalne, oznaczające najlepsze możliwe dopasowanie sieci do danych Ucieczka z lokalnego minimum jest trudna, bo wymaga chwilowego pogorszenia jakości działania sieci Minima lokalne funkcji błędu utrudniają prawidłowe przeprowadzenie uczenia Przeciwdziałanie polega na wprowadzeniu dodatkowego czynnika losowego do uczenia: losowe zaburzenia wartości wejściowych (Noise), zmiana kolejności prezentacji przykładów (Shuffle Cases), losowe zaburzenie wartości wag (Jog Weights), wielokrotne powtarzanie procesu uczenia (od losowo wybranych punktów startowych) 7

2009-03-16 Zwykle kilka prób uczenia sieci startujących z różnych punktów początkowych pozwala wykryć, gdzie jest poszukiwane minimum globalne Startując z różnych punktów docieramy do różnych minimów Nawet przy starcie z identycznego punktu początkowego przebieg powtórnego uczenia sieci neuronowej może prowadzić do innych wyników, bo kolejność prezentacji elementów zbioru uczącego jest losowa Wielokrotne ponawianie procesu uczenia może pomóc w pokonaniu także pułapki wąskich wąwozów Uczenie z nauczycielem Bez mieszania (randomizacji) zbioru uczącego może dochodzić do cyklicznych zmian wag podczas uczenia Wi Zbiór uczący: X1 X2 D x11 x12 d1 x21 x22 d2......... xn1 xn2 dn Epoka Jednokrotna prezentacja wszystkich przypadków uczących X1 Y X2 Czy yi = di? Jeśli nie, to zmień wagi w taki sposób, aby te dwie wartości zbliżyły się do siebie. Sposób zmiany wag neuronów w sieci w celu uzyskania dobrej zgodności rzeczywistych odpowiedzi neuronów z odpowiedziami wzorcowymi, podanymi w zbiorze uczącym, stanowi istotę wybranej metody uczenia. Tak wygląda przebieg prawidłowego uczenia sieci (trajektoria zmiany wag) Wj A takie przebiegi można uzyskać gdy się nie randomizuje zbioru uczącego pomiędzy kolejnymi epokami. Cykliczność pokazywania danych uczących powoduje cykliczność zmian wartości wag, co nie posuwa naprzód procesu uczenia. 8

Przykładowy zbiór uczący pozwalający rozwiązać problem regresyjny: Jak duże będzie zanieczyszczenie powietrza w różnych miastach? zmienne objaśniające: temperatura, liczba zakładów przemysłowych, liczba ludności, prędkość wiatru, wielkość opadu, liczba dni deszczowych zmienna objaśniana: Stężenie SO 2 w powietrzu dana nieistotna: nazwa miasta Uczenie sieci polega na takim doborze jej parametrów, żeby zminimalizować błąd, jaki popełnia sieć; można to zrobić przetwarzając dane ze zbioru uczącego Na wejście sieci podawane są dane wskazane w zbiorze jako wejściowe Oto sieć neuronowa, którą trzeba uczyć W zbiorze uczącym podane są poprawne wartości rozwiązań dla tych danych Sieć na tej podstawie oblicza i podaje swoje rozwiązanie (na ogół początkowo błędne) Uczenie sieci polega teraz na takim doborze jej parametrów, żeby zminimalizować błąd, jaki popełnia sieć przetwarzając dane ze zbioru uczącego Na podstawie błędu zmienia się wagi wszystkich neuronów w sieci, tak żeby malał Porównanie zawartej w danych wzorcowej odpowiedzi z wynikiem obliczonym przez sieć daje błąd Błąd Robi to algorytm uczenia Przykładowe porównanie jakości uczenia przy użyciu różnych algorytmów Trudno jest w sposób ogólny powiedzieć, który algorytm jest lepszy, a który gorszy, bo to zależy od wielu czynników Ten sam problem różna ilość wejść N = 7 N = 8 Tutaj wielkość błędu jest silnie zróżnicowana! Kształtowanie się błędu sieci w trakcie uczenia Zbiór uczący: X 1 X 2 D x 11 x 12 d 1 x 21 x 22 d 2......... x n1 x n2 d n X 1 X 2 Y Najczęściej stosowana formuła opisująca błąd popełniany przez sieć: N 2 ( ) SSE = d i y i i= 1 I rzeczywiście zwykle błąd maleje! Jeśli proces uczenia ma zakończyć się sukcesem, Najpierw to błądpotem powinien wolniej maleć szybko Sieć może mieć wiele wyjść, a ponadto dla każdego zadania ze zbioru uczącego popełnia inny błąd. Jako syntetyczna ocena jakości działania sieci neuronowej może służyć suma kwadratów błędów popełnianych przez sieć na wszystkich jej wyjściach i dla wszystkich przykładów zbioru uczącego: E = R p= 1 M o ( d pk y ) pk k= 1 2 9

W trakcie uczenia sieci błąd przez nią popełniany zmienia się w charakterystyczny i zwykle podobny sposób: szybko maleje na początku procesu i znacznie wolniej później. suma kwadratów błędów 1000 900 800 700 600 500 400 300 200 100 0 Dla tej samej sieci i dla tych samych brak danych uczących przebiegi procesu uczenia przesunięcie mogą się nieco różnić jeden od drugiego. linie Zależy to głównie od tego, jak wybrany został punkt startowy, to znaczy wartości wag na początku procesu uczenia. 0 50 100 150 200 250 300 350 400 450 czas uczenia (w epokach) Krzyżyki oznaczają elementy zbioru uczącego Linia ciągła prezentuje wynik działania sieci Start procesu uczenia wszystkie wagi są przypadkowe Błąd SSE Przykładowy przebieg procesu uczenia Ilość epok uczenia Inny przebieg procesu uczenia sieci, która ma nauczyć się rozpoznawania obrazów (rozgraniczania zbioru punktów) Przykładowy proces uczenia sieci jednowarstwowej (dyskryminacja liniowa) Przykładowy proces uczenia sieci dwuwarstwowej (dyskryminacja wielo-liniowa) Jednym ze sposobów śledzenia procesu uczenia sieci jest kontrolowanie średniej wartości modułu współczynników wagowych Taki przebieg źle rokuje: neurony wejdą w nasycenie zanim sieć się czegoś nauczy! 10

Wielkość obserwowanego błędu zależy od tego, czy bierzemy pod uwagę błąd średni dla całego zbioru przykładów, błąd dla najlepszego przypadku względnie błąd dla najgorszego przypadku Wpływ zakłóceń w danych uczących na proces uczenia Lepszy wynik końcowy! Podział zbiorów danych przy uczeniu sieci Dodanie szumu do danych uczących wydłuża wprawdzie czas uczenia, ale powiększa zdolność sieci do generalizacji wyników uczenia Celem użycia sieci jest odtworzenie pewnej nieznanej zależności, która ma funkcjonować dla wszystkich danych należących do pewnego zbioru R. Z R Zależność tę staramy się zamodelować w sieci neuronowej, mając do dyspozycji wyłącznie pewien zasób danych Z. W danych Z znane są zarówno dane wejściowe do budowanego modelu neuronowego, jak i dane wyjściowe. Są one wzorcem do którego dopasowywać będziemy parametry neuronowego modelu. Niebezpieczeństwo, które nam zagraża, polega na tym, że podczas uczenia sieci może dojść do nadmiernego dopasowania modelu do właściwości danych ze zbioru Z, nie koniecznie reprezentujących wszystkie dane w zbiorze R. Jeśli to tylko możliwe, to należy dążyć do tego, żeby testowanie przeprowadzać na innych danych, niż były używane do uczenia i walidacji Z R Żeby tego uniknąć dokonujemy podziału zasobu Z na trzy części: L są to dane uczące, które używamy do aktywnego uczenia sieci. V są to dane walidacyjne, które będą użyte do wykrycia zagrożenia przeuczeniem T są to dane testowe, które będą użyte do końcowego sprawdzenia sieci 11

Błąd 0,7 0,6 0,5 0,4 0,3 0,2 0,1 Na zbiorze V uzyskuje się zwykle gorsze wartości błędu, niż na zbiorze L 0 0 100 200 300 400 500 600 700 800 900 1000 Liczba epok L V Przeuczenie sieci czyli zanik zdolności do generalizacji Zbiór uczący: X 1 X 2 D x 11 x 12 d 1 x 21 x 22 d 2......... x k1 x k2 d k Zbiór walidacyjny: X 1 X 2 D x (k+1)1 x (k+1)2 d k+1......... x n1 x n2 d n X 1 X 2 1 0.8 0.6 0.4 0.2 0 W trakcie uczenia obserwujemy: Y Zdolność do aproksymacji: Network training error 2 ( d y ) k SSE = 0 200 400 600 800 1000 U SSE W = i= 1 Zdolność do generalizacji: n i 2 ( di yi ) i= k Tutaj dzieje się coś dziwnego! + 1 i Train Verify Przeuczenie! Dzięki użyciu zbioru danych walidacyjnych można wykryć moment przeuczenia sieci. 1 0.8 0.6 Tu zaczyna się przeuczenie 0.4 0.2 0 0 200 400 600 800 1000 Przerwać uczenie! Błąd dla zbioru uczącego Błąd dla zbioru walidacyjnego Inna interpretacja tego samego zjawiska 17 16 15 Inny rzeczywisty przykład uczenia Błąd Obciążenie Wariancja Błąd rzeczywisty Error 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 Error learning validation Liczba epok uczenia 0 5 10 15 20 25 30 35 40 45 Epochs 12

Uczenie z wyraźnym pogorszeniem generalizacji w wyniku przeuczenia 0.8 0,7 Uczenie z trudnym rozruchem Błąd nauki sieci RMS 0.7 0.6 0.5 0.4 0.3 0.2 0.1 0.0-0.1 0 50 100 150 200 250 300 Epochs Error learning validation Błąd 0,6 0,5 0,4 0,3 0,2 0,1 0 0 500 1000 1500 2000 2500 3000 Liczba epok trening weryfikacja Bywa, że błąd na zbiorze walidacyjnym ma mniejszą wartość niż na zbiorze uczącym, ale z reguły ma dużą wariancję 0,6 Błąd nauki sieci Błąd 0,5 0,4 0,3 0,2 Skąd się bierze utrata zdolności do generalizacji? 0,1 0 0 200 400 600 800 1000 Liczba epok trening weryfikacja Na tych samych danych uczących sieć może zbudować model dobrze albo źle generalizujący Jedną z głównych przyczyn złej generalizacji jest niewłaściwa struktura sieci za bardzo lub za mało skomplikowana Strukturę sieci trzeba tak dobrać, żeby otrzymać aproksymację danych uczących nie za bardzo skomplikowaną, ale i nie nazbyt uproszczoną Model zachowujący dobrą zdolność generalizacji Model który utracił zdolność generalizacji Dobra Zbyt skomplikowana Zbyt prosta 13

Efekt uczenia na pamięć Błąd na zbiorze walidacyjnym nie maleje Efekt uczenia na pamięć w zestawieniu z typowym uczeniem Błąd na zbiorze walidacyjnym nie maleje wcale Sieć w istocie nie zdobywa użytecznej wiedzy! Powolny ale systematyczny postęp Błąd na zbiorze uczącym maleje Błąd na zbiorze uczącym maleje niezwykle szybko Czasem dodanie jednego neuronu do warstwy ukrytej sieci może przerzucić sieć z trybu uczenia z uogólnianiem do trybu uczenia na pamięć Inny efekt uczenia na pamięć Błąd nauki sieci 0.40 0.35 0.30 0.25 0.20 0.15 0.10 0.05 0.00 0.45 0.40 0.35 0.30 0.25 0.20 0.15 0.10 0.05 0.00 Błąd 0,7 0,6 0,5 0,4 0,3 0,2-0.05-0.05 0 20 40 60 80 100 120 140 160 180 200 220 240 260 280 300 320-100 -50 0 50 100 150 200 250 300 350 400 450 500 550 600 0,1 MLP 20-8-1 MLP 20-9-1 0 0 200 400 600 800 1000 Liczba epok trening w eryfikacja Jeszcze jeden przykład uczenia się na pamięć Efekty uczenia sieci - 1 Błąd nauki sieci Niedouczenie Błąd 0,7 0,6 0,5 0,4 0,3 SSE 1.2 1.0 0.8 0.6 0.4 0.2 0.0-0.2 Epoki UCZ WAL Przypadek I Błąd wyznaczony na podstawie zbioru uczącego oraz błąd wyznaczony na podstawie zbioru walidacyjnego maleją, ale pozostają pod koniec uczenia na wysokim poziomie. Przyczyną takiego zachowania może być czasem zbyt krótki czas uczenia sieci ale najczęściej 0,2 przyczyną jest zbyt mała liczba elementów ukrytych 0,1 sieci. 0 0 100 200 300 400 500 600 700 800 900 1000 Liczba epok trening w eryfikacja 14

Efekty uczenia sieci - 2 Efekty uczenia sieci - 3 SSE Przeuczenie 1.2 Przypadek II 1.0 0.8 0.6 0.4 0.2 0.0 UCZ -0.2 WAL Epoki Błąd wyznaczony na podstawie zbioru uczącego bardzo szybko się zmniejsza, zaś błąd walidacyjny początkowo również maleje, a następnie zaczyna się zwiększać. Taki sposób kształtowania się wartości błędów jest klasycznym objawem przeuczenia. Jego podstawową przyczyną jest zbytnio rozbudowana struktura sieci. SSE Prawidłowy układ błędów 1.2 Przypadek III 1.0 0.8 0.6 0.4 0.2 0.0 UCZ -0.2 WAL Epoki Zarówno wartość błędu wyznaczona na podstawie zbioru uczącego, jak i zbioru walidacyjnego ulega wyraźnemu zmniejszaniu w trakcie uczenia i osiąga akceptowalny przez użytkownika poziom. Poziom błędu walidacyjnego jest zwykle nieznacznie wyższy od jego odpowiednika obliczonego na podstawie zbioru uczącego. Strukturę sieci i przebieg uczenia należy ocenić prawidłowo. Nauczona sieć neuronowa wykazuje ograniczoną wrażliwość na uszkodzenia jej elementów ( redukcja połączeń ) Kwestia wielkości zbioru uczącego Błąd testowania Błąd uczenia Błąd Liczba przykładów uczących Trzeba także uważać na jedno: ilość informacji, jakie zdobywa (i utrwala) sieć w czasie uczenia jest nie większa, niż ilość informacji zawarta w zbiorze uczącym Większy zbiór uczący pozwala bezpieczniej stosować bardziej skomplikowane modele Błąd wielkość zbioru uczącego Stopień skomplikowania modelu 15

Problem interpolacji i ekstrapolacji Ewaluacja i poprawa jakości modelu neuronowego Walidacja krzyżowa k-krotna walidacja krzyżowa: Dane dzielone są na k podzbiorów rozłącznych, wykorzystywanych zarówno do uczenia jak i do szacowania dokładności modelu. Następnie buduje się k modeli, używając każdej z części danych jako zbioru walidacyjnego, a pozostałych części jako zbioru uczącego. Następnie dla każdego modelu oblicza się błąd i uśrednia go po wszystkich modelach, uzyskując tzw. błąd walidacji krzyżowej. Dla oceny jakości modelu zbudowanego przez sieć neuronową stosuje się często metodę k-krotnej walidacji krzyżowej (ang. k-fold cross-validation). Walidacja krzyżowa k-krotna (dla k=4) Typowo stosuje się 5-krotną lub 10-krotną walidację krzyżowa lub N-krotną (N liczba wektorów uczących) zwaną wtedy leave-one-out Bootstrap Zakładamy zbiór uczący T składający się z P przykładów uczących t p w postaci par uczących (x p,y p ) Bootstrap polega na tym, że losujemy (ze zwracaniem) spośród danych uczących t i nowe P-elementowe zbiory i robimy to K-krotnie, tworząc w ten sposób K bootstrapowych zbiorów danych T (k). Na każdej z tych prób przeprowadzamy uczenie modelu neuronowego, wyznaczając interesujące wielkości, np. dokładność aproksymacji w określonych punktach E(T) otrzymując K estymat tych wyznaczonych wielkości. 16

Zagadnienia szczegółowe Czasami krzywe obrazujące zmiany błędu w trakcie uczenia mają nieco odmienny przebieg od wcześniej przedstawionego. Pokażemy teraz kilka takich nietypowych przebiegów. Czasem na typowej krzywej uczenia pojawiają się przystanki znamionujące konieczność przezwyciężania przez sieć pewnych kryzysów Niekiedy taki kryzys trwa dosyć długo, ale wytrwałym uczeniem można doprowadzić do ponownego znaczącego obniżenia wartości błędu Niekiedy to końcowe przyspieszenie bywa wręcz drastyczne Czasem z kolei uczenie przebiega na tyle szybko, że przerywa się je po uzyskaniu zadowalającego stopnia dokładności mimo wciąż jeszcze widocznej możliwości dalszej poprawy wyników uczenia. 17

Czasem w zadaniach z dużą szybkością uczenia proces malenia błędu w późniejszych etapach zaczyna przyspieszać, zamiast zwolnić (co jest typowe) Zestawy wag uzyskiwane przy powtarzaniu uczenia tej samej sieci na tych samych danych często się powtarzają, ale to wcale nie musi być regułą Backpropagation jest generalnie metodą dosyć wolną w działaniu: Niektórych badaczy to ogromnie denerwuje, więc na jednej konferencji naukowej rozprowadzane były takie ulotki: Algorytm Quickprop W wyniku tego niezadowolenia opracowano wiele metod uczenia, które w łatwych zadaniach są szybsze od backpropagation 18

Metoda gradientów sprzężonych Metoda Newtona Algorytm Levenberga-Marquardta Porównanie drogi, jaką dochodzi do rozwiązania metoda Levenberga-Marquardta oraz backpropagation Przebieg uczenia kilkoma metodami tej same sieci tego samego zadania LM (Levenberga Marquardta) BFGS (Broyden-Fletcher- Goldfarb-Shanno) Niestety te bardziej wyrafinowane metody niekiedy fatalnie zawodzą w przypadku zadań naprawdę trudnych 19

Wiedza, którą nabywa sieć neuronowa w trakcie uczenia jest zwykle niemożliwa do interpretacji przez człowieka w 32 = 0,3443 What does it mean? Is it good? Czasem jednak udaje się wyciągnąć z sieci neuronowej zgromadzoną w niej wiedzę i nadać jej interpretowalną formę Reprezentacja wiedzy w sieci neuronowej Rozkład wag odpowiednio w pierwszej i drugiej warstwie sieci uczonej rozpoznawania cyfr 1, 2, 3, 4 Rozkłady wag w sieci uczonej rozpoznawania ręcznie pisanych cyfr Inny przykład rozkładu wag (dodatnich oraz ujemnych) po procesie uczenia rozpoznawania cyfr 20