Uczenie w Sieciach Wielowarstwowych

Slides:



Advertisements
Podobne prezentacje
Czy potrafimy obliczyć wartość wyjścia sieci znając wartości jej wejść? Tak, przy założeniu, że znamy aktualne wartości wag i progów dla poszczególnych.
Advertisements

Uczenie w Sieciach Rekurencyjnych
SYSTEMY EKSPERTOWE I SZTUCZNA INTELIGENCJA
Warstwowe sieci jednokierunkowe – perceptrony wielowarstwowe
Metody sztucznej inteligencji – technologie rozmyte i neuronoweReguła propagacji wstecznej  Dr hab. inż. Kazimierz Duzinkiewicz, Katedra Inżynierii Systemów.
Temat 2: Podstawy programowania Algorytmy – 1 z 2 _________________________________________________________________________________________________________________.
© Kazimierz Duzinkiewicz, dr hab. inż. Katedra Inżynierii Systemów Sterowania Modelowanie i podstawy identyfikacji 2015/2016 Modele neuronowe – podstawy,
© Kazimierz Duzinkiewicz, dr hab. inż. Katedra Inżynierii Systemów Sterowania 1 Metody sztucznej inteligencji - Technologie rozmyte i neuronowe 2015/2016.
Ekonometria WYKŁAD 10 Piotr Ciżkowicz Katedra Międzynarodowych Studiów Porównawczych.
1 Dr Galina Cariowa. 2 Legenda Iteracyjne układy kombinacyjne Sumatory binarne Sumatory - substraktory binarne Funkcje i układy arytmetyczne Układy mnożące.
Plan Czym się zajmiemy: 1.Bilans przepływów międzygałęziowych 2.Model Leontiefa.
Tworzenie odwołania zewnętrznego (łącza) do zakresu komórek w innym skoroszycie Możliwości efektywnego stosowania odwołań zewnętrznych Odwołania zewnętrzne.
© Matematyczne modelowanie procesów biotechnologicznych - laboratorium, Studium Magisterskie Wydział Chemiczny Politechniki Wrocławskiej, Kierunek Biotechnologia,
Niepewności pomiarowe. Pomiary fizyczne. Pomiar fizyczny polega na porównywaniu wielkości mierzonej z przyjętym wzorcem, czyli jednostką. Rodzaje pomiarów.
Podstawowe pojęcia termodynamiki chemicznej -Układ i otoczenie, składniki otoczenia -Podział układów, fazy układu, parametry stanu układu, funkcja stanu,
Zmienne losowe Zmienne losowe oznacza się dużymi literami alfabetu łacińskiego, na przykład X, Y, Z. Natomiast wartości jakie one przyjmują odpowiednio.
ENERGIA to podstawowa wielkość fizyczna, opisująca zdolność danego ciała do wykonania jakiejś pracy, ruchu.fizyczna Energię w równaniach fizycznych zapisuje.
Funkcja liniowa Przygotował: Kajetan Leszczyński Niepubliczne Gimnazjum Przy Młodzieżowym Ośrodku Wychowawczym Księży Orionistów W Warszawie Ul. Barska.
© Prof. Antoni Kozioł, Wydział Chemiczny Politechniki Wrocławskiej MATEMATYCZNE MODELOWANIE PROCESÓW BIOTECHNOLOGICZNYCH Prezentacja – 4 Matematyczne opracowywanie.
W KRAINIE TRAPEZÓW. W "Szkole Myślenia" stawiamy na umiejętność rozumowania, zadawania pytań badawczych, rozwiązywania problemów oraz wykorzystania wiedzy.
Matematyka przed egzaminem czyli samouczek dla gimnazjalisty Przygotowała Beata Czerniak FUNKCJE.
Optymalna wielkość produkcji przedsiębiorstwa działającego w doskonałej konkurencji (analiza krótkookresowa) Przypomnijmy założenia modelu doskonałej.
Metody sztucznej inteligencji - Technologie rozmyte i neuronowe 2015/2016 Perceptrony proste nieliniowe i wielowarstwowe © Kazimierz Duzinkiewicz, dr hab.
W KRAINIE CZWOROKĄTÓW.
Jak tworzymy katalog alfabetyczny? Oprac.Regina Lewańska.
Dorota Kwaśniewska OBRAZY OTRZYMYWA NE W SOCZEWKAC H.
Formalnie: Pamięci asocjacyjne Dorota Cendrowska nieformalnie: (???) To miasto było na ‘K’... Na pewno na ‘K’! (???) Mam! To było Świnoujście...
Budżetowanie kapitałowe cz. III. NIEPEWNOŚĆ senesu lago NIEPEWNOŚĆ NIEMIERZALNA senesu strice RYZYKO (niepewność mierzalna)
PORADNIK WPROWADZANIA AKCJI. OGÓLNIE: Akcja musi zostać utworzona i opublikowana co najmniej tydzień przed jej rozpoczęciem. W opisie muszą znajdować.
O PARADOKSIE BRAESSA Zbigniew Świtalski Paweł Skałecki Wydział Matematyki, Informatyki i Ekonometrii Uniwersytet Zielonogórski Zakopane 2016.
Opracowała: wicedyrektor Monika wołyńska, listopad 2016
Test analizy wariancji dla wielu średnich – klasyfikacja pojedyncza
Systemy wizyjne - kalibracja
Kluczowe elementy skutecznej strategii analizy danych internetowych
Funkcje jednej zmiennej
Ucz i ucz się z TIK!.
Minimalizacja automatu
Przesuwanie wykresu funkcji liniowej
Schematy blokowe.
Od neuronow do populacji
Model Lopesa da Silvy – opis matematyczny
Wyznaczanie miejsc zerowych funkcji
Podstawowe polecenia systemu
formalnie: Sieci jednokierunkowe: architektura, uczenie, zastosowania
Liczby pierwsze.
FIGURY.
ALGORYTMY I STRUKTURY DANYCH
Moje szczęście.
Podstawy automatyki I Wykład /2016
Funkcja – definicja i przykłady
Elementy analizy matematycznej
KLASYFIKACJA CZWOROKĄTÓW
Elementy fizyki kwantowej i budowy materii
Katedra Informatyki Stosowanej UMK
Tensor naprężeń Cauchyego
Modelowanie układów dynamicznych
ALGORYTMY I STRUKTURY DANYCH
Strukturalne wzorce projektowe
MATEMATYKAAKYTAMETAM
Proste obliczenia w arkuszu kalkulacyjnym
Implementacja rekurencji w języku Haskell
Doskonalenie rachunku pamięciowego u uczniów
REGRESJA WIELORAKA.
Wyrównanie sieci swobodnych
Prawa ruchu ośrodków ciągłych c. d.
Programowanie sieciowe Laboratorium 3
Mikroekonomia Wykład 4.
Zapis prezentacji:

Uczenie w Sieciach Wielowarstwowych Inteligentne Systemy Autonomiczne Uczenie w Sieciach Wielowarstwowych W oparciu o wyklad Prof. Geoffrey Hintona University of Toronto i Dr Kazimierza Duzinkiewicza, Politechnika Gdanska oraz Prof. Włodzisława Ducha Uniwersytet Mikołaja Kopernika Janusz A. Starzyk Wyzsza Szkola Informatyki i Zarzadzania w Rzeszowie

Metody uczenia sieci neuronowych W korzystaniu z sieci neuronowej można wyróżnić dwa etapy:  etap uczenia – w oparciu o przedstawiane sieci dane, sieć uczy się realizować zadanie dla którego została zbudowana  etap uogólniania – sieć realizuje zadanie dla którego została zbudowana dla danych które są jej przedstawiane Powinniśmy mieć miary oceny jakości każdego z tych etapów

Metody uczenia sieci neuronowych Istnieje obecnie wiele metod uczenia sieci neuronowych. Nikt dokładnie nie wie ile. Wiele ze znanych metod jest związanych z określonymi topologiami (klasami) sieci Podstawowy podział metod uczenia to rozróżnienie pomiędzy uczeniem z nadzorem (supervised learning) i bez nadzoru (unsupervised learning)

Rodzaje uczenia w sieciach neuronowych Uczenie z nauczycielem (supervized) Siec uczy sie przewidziec wyjscie przy zadanym wejsciu Nauczyciel zapewnia poprawna odpowiedz Uczenie z krytykiem (reinforced) Siec uczy sie odpowiedzi ktora optymalizuje nagrode Sygnal nagrody nie zawiera duzo informacji Nagroda przychodzi czesto z opoznieniem Uczenie bez nauczyciela (unsupervised) Siec tworzy wewnetrzna reprezentacje wejscia e.g. tworzy klastery; wyodrebnia cechy Skad wiadomo czy reprezentacja jest dobra?

Unsupervised learning Uczenie bez nadzoru Unsupervised learning Znajdź interesujące struktury w danych. Uczenie spontaniczne, odkrywanie ciekawych struktur w przestrzeni danych Korelacja zachowań systemu ze zmianą tych struktur Dominuje w okresie niemowlęcym.

Uczenie z nadzorem Supervised learning. Zadaj pytanie – pokaż opis obiektu (wektor własności), porównaj odpowiedź z pożądaną. Uczenie nadzorowane przez nauczyciela – szkolne. Zmiana parametrów wewnętrznych – adaptacja, w przyszłości trzeba robić jak najmniej błędów. Celem nie jest uczenie „na pamięć”, lecz generalizacja.

Reinforcement learning. Uczenie z krytykiem Reinforcement learning. Optymalizacja zysków na dłuższą metę. Np. gry z przeciwnikiem, krytyką jest przegrana lub wygrana na końcu partii. Uczenie z krytykiem lub z „wzmocnieniem” pożądanych zachowań po dłuższym okresie. Uczenie dojrzałe (nabieranie „mądrości”).

Uczenie z nauczycielem (supervised learning) Kazdy przypadek treningowy zawiera wektor wejscia x i porzadane wyjscie y (moze by wektor wyjsc) Przyblizanie: Pozadane wyjscie jest liczba Klasyfikacja: Pozadane wyjscie jest oznaczeniem klasy (w najprostszym przypadku 1 lub 0). Trening zaczyna sie od wyboru przykladowej klasy Przykladowa klasa jest sposobem uzycia parametrow, W, zeby przksztalcic kazdy wektor wejscia, x, w pozadane wyjscie y Uczenie zwykla oznacza dopasowanie parametrow zeby zmniejszyc rozbieznosc pomiedzy pozadanym wyjsciem a aktualnym wyjsciem modelu w kazdym przypadku treningowym.

Uczenie bez nauczyciela (self-organizing) W uczeniu bez nadzoru sieć jest samodzielna Ocenia prezentowane dane, znajduje pewne cechy zbioru danych i uczy się odzwierciedlać te cechy na swoim wyjściu. Czym są dokładnie te cechy, które sieć może nauczyć się rozpoznawać zależy od konkretnego modelu sieci i metody uczenia. Zwykle, sieć uczy się pewnych zwięzłych reprezentacji danych.

Uczenie z nauczycielem Posiadamy pewien zbiór wektorów wejściowych sieci o liczebności Q, które zamierzamy wykorzystać w procesie uczenia sieci Wektory te będziemy nazywać uczącymi wzorcami wejściowymi. Możemy z posiadanych wektorów utworzyć macierz wzorców wejściowych uczących P (patterns)

Uczenie z nauczycielem Dla każdego uczącego wzorca wejściowego posiadamy wektor wyjściowy sieci jakim powinna ona odpowiedzieć - wektor ten nazywamy docelowym wzorcem wyjściowym. Z wektorów tych możemy utworzyć macierz docelowych wzorców wyjściowych T (targets) NN P T

Uczenie z nauczycielem Macierze P oraz T nazywamy zbiorami uczącymi - ich elementami są kolumny wzorców wejściowych oraz docelowych wzorców wyjściowych. Faktycznie sieć na każdy z wzorców wejściowych odpowiada rzeczywistym wzorcem wyjściowym Z wektorów tych możemy utworzyć macierz wzorców rzeczywistych A (answers) NN P A

Proces uczenia z nauczycielem  Wektory z wejściowego zbioru uczącego są przedstawiane sieci w pewnej kolejności  Jeżeli wyjście sieci jest poprawne, nie dokonywane są żadne zmiany wartości wag i progów  Jeżeli wyjście sieci nie jest poprawne, wagi i progi są modyfikowane w taki sposób, aby minimalizować występujące różnice Zmiany wag i progów dokonuje się na ogół przyrostowo, wprowadzając małe poprawki dla każdej pary uczącej z którą związana jest błędna odpowiedź Można zmiany wag i progów wykonywać grupowo, wprowadzając poprawki po pokazaniu sieci całego zestawu uczącego

Proces uczenia z nauczycielem  Pełne przejście przez wszystkie wzorce uczące nazywane jest cyklem uczenia (training epoch)  Jeżeli po pewnym cyklu uczenia miara wszystkich pojawiających się błędów jest wystarczająco mała, uczenie uznaje się za zakończone - możemy wówczas powiedzieć, że siec nauczyla sie zbióru uczącego z zadowalającą dokładnością  Jeżeli nie to uczenie jest kontynuowane – rozpoczynamy kolejny cykl uczenia

Proces uczenia z nauczycielem Proces uczenia z nauczycielem ma trzy fazy: FAZA PREZENTACJI: Przedstawianie sieci kolejnych wzorców wejściowych uczących i obliczanie rzeczywistych wzorców wyjściowych sieci FAZA SPRAWDZENIA: Stwierdzenie, czy wszystkie rzeczywiste wzorce wyjściowe są równe odpowiednim wzorcom wyjściowym docelowym lub jeżeli miara błędów odpowiedzi jest zadowalająco mała lub po przekroczeniu pewnej maksymalnej liczby epok FAZA UCZENIA: Modyfikacja wag i stałych progowych za pomocą odpowiedniej reguły uczenia perceptronu i powrót do fazy 1

Sprawdzenie zdolności uogólniania sieci  Po zakończeniu procesu uczenia możemy podawać na wejście sieci wzorce nie pochodzące z uczącego zbioru wejściowego – w ten sposób możemy badać, czy sieć efektywnie uogólnia rozwiązywanie zadania, którego się uczyła na przykładach  Jeżeli tak, to na podany na wejście wzorzec powinna ona odpowiedzieć wzorcem wyjściowym równym lub bliskim wzorcowi docelowemu, otrzymanym przy podobnym wejsciu  Jeżeli nie, to na podany na wejście wzorzec sieć odpowie wzorcem wyjściowym odległym od wzorca docelowego, otrzymanego przy podobnym wejsciu

Reguła Hebba “Kiedy akson komórki A jest dostatecznie blisko by pobudzić komórkę B i wielokrotnie w sposób trwały bierze udział w jej pobudzaniu, procesy wzrostu lub zmian metabolicznych zachodzą w obu komórkach tak, że sprawność neuronu A jako jednej z komórek pobudzających B, wzrasta.” D. O. Hebb, 1949

Uczenie w neuronach liniowych Neuron ma rzeczywiste wyjscie ktore jest wazona suma jego wejsc Celem uczenia jest zminimalizowanie roznicy pomiedzy pozadanym i rzeczywistym wyjsciem Jak mierzyc ta roznice? Czy uaktualniac wagi po kazdym uczacym wzorcu? Czemu nie rozwiazac tego analitycznie? Wagi polaczen Wektor wejsciowy Neuronowe przyblizenie pozadanego wyjscia

Motywujacy przyklad Kazdego dnia jesz obiad na stolowce. Twoje posilki skladaja sie z ryb, chleba i piwa. Dostajesz po trochu z kazdego z nich Kasjer podaje ci tylko calosc sumy do zaplacenia Po kilku dniach powinienes sie zorientowac ile co kosztuje. Kazda cena posilku daje ci liniowe ograniczenie cen wszystkich porcji :

Dwie metody rozwiazania rownan Jedna metoda to rozwiazac uklad rownan liniowych, jedno rownanie na kazdy posilek. Ale potrzebna jest nam metoda ktora mozna uzyc w sieciach neuronowych. Ceny porcji sa jak wagi polaczen w neuronach liniowych. Zaczniemy od zgadniecia wag i pozniej je zmienimy zeby uzyskac lepsze dopasowanie do cen podanych przez kasjera.

Mozg kasjera Cena posilku = 850 150 50 100 2 5 3 porcje ryby Neuron liniowy Poszukiwane wagi polaczen 150 50 100 2 5 3 porcje ryby porcje chleba porcje piwa

Model mozgu kasjera z dowolnymi wagami poczatkowymi Cena posilku = 500 Blad wyjscia Wzor uczenia: Przy wspolczynniku =1/35, zmiany wag sa +20, +50, +30 Daje to nowe wagi 70, 100, 80 Zauwaz ze blad dla chleba wzrosl ale inne bledy zmalaly! 50 50 50 2 5 3 porcje ryby porcje chleba porcje piwa

Zachowanie iteracyjnej procedury uczenia Czy zmiana wag zawsze przybliza wagi do porzadanych wielkosci? NIE! Czy procedura uczenia zbiega sie do poprawnego rozwiazania? Tak, jesli szybkosc uczenia stopniowo jest ograniczana w odpowiedni sposob. Jak szybko wagi zbiegaja sie do ich poprawnych wielkosci? Zbieznosc moze byc bardzo powolna jesli dwie wielkosci wejsciowe sa wysoce skorelowane (na przyklad chleb i maslo). Czy procedura iteracyjna moze byc uogolniona na bardziej zlozone, wielowarstwowe, nieliniowe sieci? TAK!

Obliczanie zmian wag (delta rule) Zdefiniuj blad jako sume kwadratow odchylen wyjsc na wszystkich danych treningowych: Oblicz pochadna bledu ze wgledu na wagi Delta rule zmienia wagi proporcjonalnie do sumy pochodnej bledu po wszystkich przypadkach treningowych

Przekroje pionowe sa parabolami. Przekroje poziome sa elipsami. Powierzchnia bledu Powierzchnia bledu zawarta jest w przestrzeni ktorej wsporzednymi sa wagi i wartosc bledu. Dla liniowego neuronu jest to funkcja kwadratowa. E w1 w2 Przekroje pionowe sa parabolami. Przekroje poziome sa elipsami.

Uczenie ciagle i grupowe Uczenie ciagle (on line) zmierza zygzakiem wokol kierunku najwiekszego spadku Uczenie grupowe (batch) postepuje w kierunku najwiekszego spadku po powierzchni bledu Ograniczenie 1-ej danej treningowej w1 w1 w2 Ograniczenie 2-ej danej treningowej w2

Dodanie progu (bias) Liniowy neuron jest bardzej podatny jesli dodamy funkcje progowa. Mozemy uniknac osobnej zasady uczenia z progiem jak zauwazymy ze: Prog jest rownowazny wadze dodatkowego wejscia ktore jest zawsze rowne 1.

Neurony progowe McCulloch-Pitts (1943) y z Najpierw liczymy wazona sume wejsc z innych neuronow Nastepnie wyjscie jest 1 jesli suma ta jest wieksza od wartosci progowej (threshold). 1 1 if y 0 otherwise z prog

Warstwowe sieci jednokierunkowe - perceptrony Warstwowe sieci jednokierunkowe zostały nazwane perceptronami przez Franka Rosenblatta i Charlesa Wightmana Sieci te można scharakteryzować w następujący sposób:  Podstawowym elementem perceptronu jest sztuczny neuron, którego funkcją pobudzania (propagacji) jest funkcją sumy a funkcja aktywacji ma na ogół charakter nieliniowy; może to być jednak również funkcja liniowa Poszczególne neurony sieci ułożone są w warstwy. Każdy neuron należy do jednej i tylko jednej warstwy. Neurony należące do jednej warstwy nie są ze sobą połączone.

Warstwowe sieci jednokierunkowe - perceptrony Warstwy ułożone są jedna za drugą. Określone jest uporządkowanie warstw. Połączenia pomiędzy neuronami poszczególnych warstw są jednokierunkowe i skierowane zgodnie z uporządkowaniem warstw  Sygnały wejściowe dostarczane są do sieci przez wejścia (warstwę wejściową), umiejscowione przed pierwszą warstwą neuronów Jednowarstwowe sieci jednokierunkowych są często nazywane perceptronami prostymi

Perceptrony proste Realizowane przetwarzanie

Perceptron prosty progowy Pojedynczy perceptron jest najprostszą formą sieci neuronowej używanej do klasyfikacji wzorców, które posiadają własność liniowej separowalności tzn. wzorce należące do dwóch różnych klas leżą po przeciwnych stronach hiperpłaszczyzny w przestrzeni atrybutów klasyfikowanych obiektów Pojedynczy perceptron prosty progowy można nauczyć rozpoznawania wzorców należących do dwóch klas – używając większej liczby neuronów można wykorzystywać perceptron prosty progowy do klasyfikacji wzorców należących do większej liczby klas

Perceptron prosty progowy Algorytm modyfikacji wag i progu podał Rosenblatt Rosenblatt udowodnił, że jeżeli wzorce (wektory) używane do uczenia perceptronu prostego progowego są wybierane z dwóch liniowo separowalnych zbiorów (klas) wówczas: algorytm uczenia wykorzystujący regułę perceptronu jest zbieżny sieć można nauczyć zadania klasyfikacji wzorców do dwóch klas w skończonej liczbie epok

Proces uczenia perceptronu - uczenie zadania klasyfikacji  Uczenie perceptronu prostego prowadzi się metodą z nauczycielem (pod nadzorem)  Argumentem funkcji aktywacji jest iloczyn skalarny dwóch wektorów w i p

Perceptron prosty progowy – istota zadania klasyfikacji  Na wyjściu perceptronu progowego pojawia się ,,stan wysoki", jeżeli rzut wektora wzorca wejściowego na kierunek wektora wag jest równy zero lub dodatni  Na wyjściu perceptronu progowego pojawia się ,,stan niski", jeżeli rzut wektora wzorca wejściowego na kierunek wektora wag jest ujemny  Granicą pomiędzy dodatnimi i ujemnymi rzutami wektorów p na kierunek wektora w jest hiperpłaszczyzna przechodząca przez początek układu współrzędnych i do której wektor w jest ortogonalny

Perceptron prosty progowy – istota zadania klasyfikacji Kiedy proces uczenia doprowadzi do pożądanej sytuacji? - przypadek z progiem  Wyjście perceptronu progowego zmienia swoją wartość dla wartości argumentu równej zero, czyli kiedy:

Perceptron prosty progowy – ilustracja Perceptron jest w stanie nauczyc sie klasyfikacji, jeżeli istnieje hiperpłaszczyzna rozdzielająca wzorce wejściowe. w p1 p2 wzorce wejściowe klasy 1 wzorce wejściowe klasy 2

Procedura zbieznosci perceptronu: Trening neuronu progowego jako klasyfikatora Dodaj dodatkowy komponent o wartosci 1 do kazdego wektora wejsciowego. Waga tego wejscia jest rowna ujemnej wartosci progu. Mozemy teraz zapomniec o progu. Wybierz wzorce treningowe tak by kazdy z nich byl wybrany kilkakrotnie Jesli wyjscie jest poprawne, nie zmieniaj wag. Jesli wyjscie jest blednie rowne 0, dodaj wektor wejscia do wektora wag. Jesli wyjscie jest blednie rowne 1, odejmij wektor wejscia od wektora wag. Procedura ta gwarantuje znalezienie poprawnych wartosci wag jesli takowe istnieja.

Czego neurony progowe nie sa w stanie zrobic? Neurony binarne nie sa w stanie okreslic czy dwie liczby 1-bitowe sa rowne czy nie! Rowne: (1,1)  1; (0,0)  1 Rozne: (1,0)  0; (0,1)  0 Te 4 pary wejscie-wyjscie okreslaja 4 nierownosci ktore nie maja rozwiazania: Przestrzen wejsciowa (nie przestrzen wag) 0,1 1,1 plaszczyzna wag wyjscie =1 wyjscie =0 0,0 1,0 Przypadki pozytywne i negatywne nie moga byc rozdzielone liniowo